Image 類別

定義

代表顯示影像的控制項。 影像來源是藉由使用數種支援的格式來參照圖像檔來指定。 您也可以使用數據流來設定影像來源。 如需支援的影像來源格式清單,請參閱。

public ref class Image sealed : FrameworkElement
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Image final : FrameworkElement
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Image : FrameworkElement
Public NotInheritable Class Image
Inherits FrameworkElement
<Image .../>
繼承
Object Platform::Object IInspectable DependencyObject UIElement FrameworkElement Image
屬性

範例

提示

如需詳細資訊、設計指引和程式碼範例,請參閱 影像和影像筆刷

WinUI 3 資源庫應用程式包含大部分 WinUI 3 控制件、特性和功能的互動式範例。 從 Microsoft Store 取得應用程式,或在 GitHub 上取得原始程式碼。

備註

影像檔案格式

影像可以顯示這些影像檔案格式:

  • JPEG 格式 (JPEG)
  • 可攜式網路圖形 (PNG)
  • 點陣圖 (BMP)
  • 圖形交換格式 (GIF)
  • 標記的影像檔案格式 (TIFF)
  • JPEG XR
  • 圖示 (ICO)
  • 可變式向量圖形 (SVG)

從 1607 版 Windows 10 開始,Image 元素支援動畫圖形交換格式 (GIF) 影像。 當您使用 BitmapImage 做為影像 來源時,您可以存取 BitmapImage API 來控制動畫圖形交換格式的播放 (GIF) 影像。 如需詳細資訊,請參閱 BitmapImage 類別頁面的<備註>。

注意

當您的應用程式針對 Windows 10 版本 1607 編譯並在版本 1607 (或更新版本) 時,可以使用動畫圖形交換格式 (GIF) 支援。 當您的應用程式針對舊版編譯或執行時,會顯示圖形交換格式 (GIF) 的第一個畫面格,但不會以動畫顯示。

從 Windows 10 1703 版開始,Image 元素透過 SvgImageSource 支援靜態可調整向量圖形 (SVG) 影像。 SvgImageSource 支援來自 SVG 規格的安全靜態模式,且不支持動畫或互動。 Direct2D 提供基礎 SVG 轉譯支援,如需特定 SVG 元素和屬性支援的詳細資訊,請參閱 SVG 支援。 若要深入瞭解如何在應用程式中插入 SVG,請流覽 SvgImageSource 類別頁面。

注意

當您的應用程式針對 Windows 10 版本 1703 編譯並在 1703 版或更新版本 (或更新版本) 時,可以使用可調整的向量圖形 (SVG) 支援。 當您的應用程式針對舊版進行編譯或執行時,將不會顯示 SVG 影像。

設定 Image.Source

若要設定 Image 所顯示的影像來源檔案,您可以在 XAML 或程式代碼中設定其 Source 屬性。 以下是在 XAML 中設定 Source 的簡單範例:

<Image Width="200" Source="Images/myimage.png"/>

此使用方式是使用統一資源標識符設定 來源 (URI) ,這是 XAML 所啟用的快捷方式。 請注意,此處的統一資源標識符 (URI) 看起來是相對的統一資源標識碼 (URI) ;支援部分統一資源標識碼 (URI) 是另一個 XAML 快捷方式。 此統一資源識別碼的根目錄 (URI) 是應用程式專案的基底資料夾。 這通常是從載入包含 Image 標籤的 XAML 檔案相同的位置。 在此範例中,映像來源檔案位於應用程式檔案結構內的Images 子資料夾中。

設定 Source 屬性原本就是異步動作。 因為它是屬性,所以沒有可等候的語法,但在大部分情況下,您不需要與影像載入的異步層面互動。 架構會等候影像來源傳回,並在映射來源檔案可用並譯碼時啟動版面配置週期。

將來源設定為統一資源標識碼 (URI) 無法解析為有效映射來源檔案的值,並不會擲回例外狀況。 相反地,它會引發 ImageFailed 事件。 您可以撰寫 ImageFailed 處理程式,並將其附加至 Image 物件,並可能使用事件數據中的 ErrorMessage 來判斷失敗的本質。 譯碼時發生錯誤也可以引發 ImageFailed。 如果您想要確認影像來源檔案已正確載入,您可以在 Image 元素上處理 ImageOpened 事件。

您通常會使用包含在應用程式下載套件一部分的映像來源檔案。 對於大型檔案,如果這是第一次使用來源,則影像來源檔案譯碼時可能會有非常小的延遲。 如需應用程式資源以及如何在應用程式套件中封裝映像來源檔案的詳細資訊,請參閱 定義應用程式資源

您也可以使用不屬於應用程式的映像來源檔案,例如來自外部伺服器的映像。 這些映像是由內部 HTTP 要求下載,然後譯碼。 如果影像來源檔案是大型檔案,或有連線問題,在 Image 元素中顯示外部影像之前可能會有延遲。

使用程式代碼設定 Image.Source

如果您使用程式代碼建立 Image 物件,請呼叫預設建構函式,然後設定 Image.Source 屬性。 設定 Image.Source 屬性需要 BitmapImage 類別的實例,您也必須建構該類別。 如果您的影像來源是統一資源標識碼 (URI) 所參考的檔案,請使用採用統一資源識別元 (URI) 參數的 BitmapImage 建構函式。 當您參考本機內容時,您必須在絕對統一資源標識碼 (URI 中包含 ms-appx: 配置,) 您做為 BitmapImage 建構函式參數。 在程式代碼中,您不會取得合併相對統一資源識別元 (URI) 元件和 ms-appx 的 處理快捷方式:如果您將 Source 指定為 XAML 屬性,就會自動發生此配置。 相反地,您必須使用適當的配置明確地建構絕對統一資源標識碼 (URI) 。 您通常會使用 ms-appx: 配置作為應用程式一部分封裝的映像檔。

提示

如果您使用 C# 或 Microsoft Visual Basic,您可以取得 Image 的 BaseUri 屬性,並將該屬性當做 System.Uri 建構函式的 baseUri 參數傳遞,以結合統一資源標識符 (URI) 基底位置和該位置內的相對路徑。

以下是在 C# 中設定 Image.Source 的範例。 在此範例中,Image 物件是在 XAML 中建立,但沒有來源或任何其他屬性值;而是在從 XAML 載入映射時,於運行時間提供這些值。

void Image_Loaded(object sender, RoutedEventArgs e)
{
    Image img = sender as Image; 
    BitmapImage bitmapImage = new BitmapImage();
    img.Width = bitmapImage.DecodePixelWidth = 80; //natural px width of image source
    // don't need to set Height, system maintains aspect ratio, and calculates the other
    // dimension, so long as one dimension measurement is provided
    bitmapImage.UriSource = new Uri(img.BaseUri,"Assets/StoreLogo.png");
    img.Source = bitmapImage;
}

使用影像來源的數據流來源

如果您的影像來源是數據流,您必須撰寫程式代碼,以將 Image 實例設定為使用數據流。 這不能單獨在 XAML 中完成。 建構映像以使用,或參考可能已在 XAML 標記中定義但沒有來源) 的現有 Image (實例。 然後使用 BitmapImageasync SetSourceAsync 方法,從數據流定義影像資訊,並將數據流傳遞為 streamSource 參數。 使用影像來源的數據流相當常見。 例如,如果您的應用程式允許使用者使用 FileOpenPicker 控件選擇影像檔,您取得的物件代表使用者所選擇的檔案可以開啟為數據流,但不會提供統一資源識別碼 (URI) 檔案參考。

在此範例中,程式代碼已經可等候,因為程式代碼正在等候使用者選擇檔案,而且只會在該情況之後執行。 從異步選擇器動作傳回 StorageFile 實例之後,要使用的數據流來自 StorageFile.OpenAsync

FileOpenPicker open = new FileOpenPicker(); 
// Open a stream for the selected file 
StorageFile file = await open.PickSingleFileAsync(); 
// Ensure a file was selected 
if (file != null) 
{ 
    using (IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read)) 
    { 
        // Set the image source to the selected bitmap 
         BitmapImage bitmapImage = new BitmapImage(); 
         bitmapImage.DecodePixelWidth = 600; //match the target Image.Width, not shown
         await bitmapImage.SetSourceAsync(fileStream); 
         Scenario2Image.Source = bitmapImage; 
    } 
}

提示

如果您使用 C# 或 Microsoft Visual Basic,串流可以使用您先前 Microsoft .NET 程式設計體驗熟悉的 System.IO.Stream 類型。 您可以在從 Windows 執行階段 API 取得的任何 IRandomAccessStream 類型物件上,呼叫 AsStream 擴充方法作為實例方法。 上一個範例使用 IRandomAccessStream 進行參數傳遞,而且不需要使用 AsStream。 但如果您需要操作數據流,AsStream 會以公用程式的形式轉換成 System.IO.Stream

如需更多範例程序代碼 ,請參閱 XAML 影像範例

圖像檔案和效能

大型圖像檔可能會影響效能,因為它們會載入記憶體中。 如果您要參考影像檔案,其中您知道來源檔案是大型、高解析度的影像,但您的應用程式會顯示在小於影像自然大小的 UI 區域中,您應該設定 DecodePixelWidth 屬性或 DecodePixelHeightDecodePixel* 屬性可讓您將資訊直接傳遞至格式特定的編解碼器,而編解碼器可以使用此資訊更有效率地譯碼,並將資訊傳遞給較小的記憶體使用量。 將 DecodePixelWidth 設定為您想要應用程式實際顯示之區域的相同圖元寬度。 換句話說,BitmapImage 來源的 DecodePixelWidth 應該與顯示該來源之 Image 控制件的 WidthActualWidth 值相同。

您可以設定 DecodePixelWidth,或設定 DecodePixelHeight。 如果您設定這兩個屬性的其中一個,系統會計算相符的屬性,以維持正確的外觀比例。 您也可以設定這兩個屬性,但通常應該使用維持該外觀比例的值。 如果您想要變更外觀比例,有更好的方式可以這麼做,例如使用 TranslateTransform 做為 RenderTransform

若要在 XAML 中設定 DecodePixelWidth (或 DecodePixelHeight) ,您必須使用稍微詳細的 XAML 語法,其中包含明確的 BitmapImage 元素做為屬性值,如下所示:

<Image>
  <Image.Source>
    <BitmapImage DecodePixelWidth="200" UriSource="images/myimage.png"/>
  </Image.Source>
</Image>

DecodePixelWidth (或 DecodePixelHeight) 是 BitmapImage 的屬性,因此您需要明確的 BitmapImage XAML 物件元素,才能將 DecodePixel* 屬性設定為 XAML 中的屬性。

如果您要在程式代碼中建立 Image 實例,您可能已經建立 BitmapImage 實例做為提供 Source 屬性的值,因此只要在 BitmapImage 實例上設定 DecodePixelWidth (或 DecodePixelHeight) ,才能設定 UriSource 屬性。 DecodePixelType 屬性也會影響譯碼作業解譯圖元值的方式。

若要防止影像譯碼多次,請從統一資源識別元指派影像來源屬性, (URI) ,而不是隨時使用記憶體數據流。 XAML 架構可以將相同的統一資源識別元 (URI) 與一個譯碼的映射產生關聯,但即使它們包含相同的數據,仍無法對多個記憶體數據流執行相同的動作。

您可以將所有相關聯的 Image.Source 值設定為 null,以從映像快取中移除圖像檔案。

如需 Image 類別和效能的詳細資訊,請參閱 優化動畫和媒體

圖像文件編碼和譯碼

Windows 映像處理元件 (WIC) API 提供映像檔的基礎編解碼器支援。 如需針對編解碼器記載的特定影像格式詳細資訊,請參閱 原生 WIC 編解碼器

Image、 BitmapImageBitmapSource 的 API 不包含用於編碼和譯碼媒體格式的任何專用方法。 所有譯碼作業都會內建為設定或重設來源時所發生的動作。 這可讓類別更容易用於建構UI,因為它們有一組預設支援的來源檔格式和譯碼行為。 BitmapImage 之類的類別會公開一些譯碼選項和邏輯,做為 ImageOpenedImageFailed 事件之事件數據的一部分。 如果您需要進階圖像文件譯碼或影像編碼,您應該使用 來自 Windows.Graphics.Imaging 命名空間的 API。 如果您的應用程式案例牽涉到影像檔案格式轉換,或使用者可將結果儲存為檔案的影像操作,您可能需要這些 API。 Windows 映像處理元件 (WINDOWS) 元件也支援編碼 API。

影像 寬度和高度

Image 類別會繼承 FrameworkElementWidthHeight 屬性,而且這些屬性可能會控制影像控制件在 UI 中顯示時將呈現的大小。 如果您未設定 WidthHeight,則寬度和高度取決於影像來源的自然大小。 例如,如果您載入高度為 300 像素且寬度為 400 像素的點陣圖影像,如原始檔格式所記錄,則影像控件計算其自然大小時,這些度量會用於寬度和高度。 您可以在影像轉譯之後,於運行時間檢查 ActualHeightActualWidth ,以取得度量資訊。 或者,您可以在影像轉譯之前立即處理 ImageOpened 並檢查影像檔屬性,例如 PixelHeightPixelWidth

如果您只設定其中一個 WidthHeight 屬性,但不能同時設定兩者,則系統可以使用該維度作為指引並計算另一個維度,並保留外觀比例。 如果您不確定原始程式檔維度,請挑選在版面配置案例中控制最重要的維度,並讓系統計算其他維度,然後容器的配置行為通常會調整配置以符合。

如果您未設定 Width 和/或 Height,並將影像保留為自然大小,影像的 Stretch 屬性可以控制影像來源檔案如何填滿您指定為 WidthHeight 的空間。 默認 Stretch 值為 Uniform,它會在影像符合配置容器時保留外觀比例。 如果容器的維度沒有相同的外觀比例,則會有空白空間仍屬於Image的一部分,但不會顯示任何影像圖元,至少在使用 StretchUniform 值時。 UniformToFill for Stretch 不會留下空白空間,但如果維度不同,可能會裁剪影像。 Stretch填滿不會留下空白空間,但可能會變更外觀比例。 您可以實驗這些值,以查看在版面配置案例中顯示影像的最佳專案。 此外,請注意,某些版面配置容器可能會調整沒有特定 WidthHeight 的影像大小,以填滿整個版面配置空間,在此情況下,您可以選擇在映像或容器上設定特定大小。

NineGrid

如果使用 NineGrid 技術,如果影像具有不應該統一調整的區域,則使用 NineGrid 技術可調整大小與顯示區域不同的影像。 例如,您可以使用一個固有框線的背景影像,該影像只應該在一個維度中延展,而應該完全不延展的角落,但影像中心可以延展以符合這兩個維度中的版面配置需求。 如需詳細資訊,請參閱 NineGrid

Image 的資源資格和當地語系化

影像 來源檔案和調整

您應該以數個建議的大小建立影像來源,以確保您的應用程式在 Windows 8 調整時看起來很美觀。 指定影像 的來源 時,您可以針對將使用正確資源的資源命名慣例用於裝置特定縮放比例的資源。 這是由應用程式在運行時間自動決定。 如需使用命名慣例的詳細數據,請參閱 快速入門:使用檔案或映像資源

如需如何正確設計影像以進行縮放的詳細資訊,請參閱 版面配置和調整的UX指導方針

使用未限定的資源

不合格的資源是一種技術,您可以在基本資源參考參考參照默認資源的位置使用,而資源管理程式可以自動尋找對等的當地語系化資源。 您可以使用自動處理來存取具有目前縮放比例和文化特性限定符的非限定資源,也可以使用 ResourceManagerResourceMap 搭配文化特性和規模限定符,直接取得資源。 如需詳細資訊,請參閱資源管理系統

Image 的 FlowDirection

如果您將 FlowDirection 設定為 Image 的 RightToLeft ,影像的視覺內容會水準翻轉。 不過,Image 元素不會從任何父元素繼承 FlowDirection 值。 一般而言,您只需要在與版面配置相關的影像中執行影像翻轉行為,但不一定是具有內嵌文字或其他元件且對右至左物件而言不合理翻轉的元素。 若要取得影像翻轉行為,您必須將 Image 元素上的 FlowDirection 元素特別設定為 RightToLeft,或在程式代碼後置中設定 FlowDirection 屬性。 請考慮使用 x:Uid 指示詞來識別 Image 元素,並將 FlowDirection 值指定為 Windows 執行階段 資源,讓您的當地語系化專家稍後可以變更此值,而不需變更 XAML 或程式碼。

Image 類別和輔助功能

Image 類別不是真正的控件類別,因為它不是 Control 的子系類別。 您無法呼叫 Image 元素的焦點,或將 Image 元素放在索引標籤序列中。 如需在UI中使用影像和Image元素之輔助功能層面的詳細資訊,請參閱 基本輔助功能資訊

映像資源

資源可以使用資源限定符模式,根據裝置特定的調整來載入不同的資源。 如果應用程式執行時調整因數變更,系統會自動重新評估您應用程式原本擷取的任何資源。 此外,當該資源是 Image 物件的影像來源時,就會引發其中一個來源載入事件 (ImageOpened 或 ImageFailed) ,因為系統要求新資源的動作,然後將它套用至 Image 運行時間調整變更可能發生的案例,是在有一個以上的可用時,當使用者將應用程式移至不同的監視器時。 因此,即使 Source 是在 XAML 中設定來源的情況下,在運行時間處理調整變更時ImageOpenedImageFailed 事件也會發生。

建構函式

Image()

初始化 Image 類別的新實例。

屬性

AccessKey

取得或設定這個專案的訪問鍵 (助記鍵) 。

(繼承來源 UIElement)
AccessKeyScopeOwner

取得或設定來源項目,這個元素會提供這個專案的存取索引鍵範圍,即使它不在來源專案的可視化樹狀結構中也一樣。

(繼承來源 UIElement)
ActualHeight

取得 FrameworkElement 的呈現高度。 請參閱<備註>。

(繼承來源 FrameworkElement)
ActualOffset

取得這個 UIElement 的位置,相對於其父系,在配置程式的排列階段期間計算。

(繼承來源 UIElement)
ActualSize

取得這個UIElement在配置程式的排列階段期間計算的大小。

(繼承來源 UIElement)
ActualTheme

取得元素目前使用的UI主題,其可能與 RequestedTheme不同。

(繼承來源 FrameworkElement)
ActualWidth

取得 FrameworkElement 的呈現寬度。 請參閱<備註>。

(繼承來源 FrameworkElement)
AllowDrop

取得或設定值,這個值會判斷這個 UIElement 是否可以是拖放作業的置放目標。

(繼承來源 UIElement)
AllowFocusOnInteraction

取得或設定值,這個值表示當使用者與其互動時,專案是否會自動取得焦點。

(繼承來源 FrameworkElement)
AllowFocusWhenDisabled

取得或設定停用的控制項是否可以接收焦點。

(繼承來源 FrameworkElement)
BaseUri

取得統一資源標識碼 (URI) ,表示 XAML 載入時 XAML 建構物件的基底 URI。 這個屬性適用於運行時間的 URI 解析。

(繼承來源 FrameworkElement)
CacheMode

取得或設定值,這個值表示轉譯的內容應該盡可能快取為複合位圖。

(繼承來源 UIElement)
CanBeScrollAnchor

取得或設定值,這個值表示 UIElement 是否可以是捲動錨定候選專案。

(繼承來源 UIElement)
CanDrag

取得或設定值,這個值表示是否可以將專案拖曳為拖放作業中的數據。

(繼承來源 UIElement)
CenterPoint

取得或設定專案的中心點,這是發生旋轉或縮放的點。 影響項目的轉譯位置。

(繼承來源 UIElement)
Clip

取得或設定用來定義UIElement內容的大綱的 RectangleGeometry

(繼承來源 UIElement)
CompositeMode

取得或設定屬性,這個屬性會宣告其父版面配置和視窗中專案的替代組合和混合模式。 這與混合 XAML/Microsoft DirectX UI 相關的元素相關。

(繼承來源 UIElement)
ContextFlyout

取得或設定與這個項目相關聯的飛出視窗。

(繼承來源 UIElement)
DataContext

取得或設定 FrameworkElement 的數據內容。 數據內容的常見用法是 FrameworkElement 當 使用 {Binding} 標記延伸並參與數據系結時。

(繼承來源 FrameworkElement)
DesiredSize

取得這個 UIElement 在版面配置程式的量值階段期間計算的大小。

(繼承來源 UIElement)
Dispatcher

一律會在 Windows 應用程式 SDK 應用程式中傳null回。 請改用 DispatcherQueue

(繼承來源 DependencyObject)
DispatcherQueue

DispatcherQueue取得與這個 物件相關聯的 。 DispatcherQueue表示即使程式代碼是由非UI線程起始,也可以存取 DependencyObject UI線程上的設備。

(繼承來源 DependencyObject)
ExitDisplayModeOnAccessKeyInvoked

取得或設定值,指定叫用存取金鑰時是否關閉存取金鑰顯示。

(繼承來源 UIElement)
FlowDirection

取得或設定文字和其他UI元素在控制其版面配置的任何父元素內流動的方向。 這個屬性可以設定為 LeftToRightRightToLeftRightToLeft在任何元素上將 設定FlowDirection為 ,會將對齊方式設定為從右至左、從右至左的閱讀順序,以及控件的版面配置從右至左流動。

(繼承來源 FrameworkElement)
FocusState

取得值,指定這個控件是否有焦點,以及取得焦點的模式。

(繼承來源 UIElement)
FocusVisualMargin

取得或設定 FrameworkElement 焦點視覺效果的外部邊界。

(繼承來源 FrameworkElement)
FocusVisualPrimaryBrush

取得或設定筆刷,用來繪製 FrameworkElement 之 或 Reveal 焦點視覺效果的外部HighVisibility框線。

(繼承來源 FrameworkElement)
FocusVisualPrimaryThickness

取得或設定 FrameworkElement 之或Reveal焦點視覺效果的外部框線HighVisibility粗細。

(繼承來源 FrameworkElement)
FocusVisualSecondaryBrush

取得或設定筆刷,用來繪製 FrameworkElement 之 或 Reveal 焦點視覺效果的內部框HighVisibility線。

(繼承來源 FrameworkElement)
FocusVisualSecondaryThickness

取得或設定 FrameworkElement 之或Reveal焦點視覺效果的內部框線HighVisibility粗細。

(繼承來源 FrameworkElement)
Height

取得或設定 FrameworkElement 的建議高度。

(繼承來源 FrameworkElement)
HighContrastAdjustment

取得或設定值,這個值表示當啟用高對比度主題時,架構是否會自動調整專案的視覺屬性。

(繼承來源 UIElement)
HorizontalAlignment

取得或設定在版面配置父代中撰寫時套用至 FrameworkElement 的水準對齊特性,例如面板或專案控件。

(繼承來源 FrameworkElement)
IsAccessKeyScope

取得或設定值,這個值表示專案是否定義自己的存取金鑰範圍。

(繼承來源 UIElement)
IsDoubleTapEnabled

取得或設定值,這個值會判斷 DoubleTapped 事件是否可以來自該專案。

(繼承來源 UIElement)
IsHitTestVisible

取得或設定這個 UIElement 的自主區域是否可以傳回真正的值來進行點擊測試。

(繼承來源 UIElement)
IsHoldingEnabled

取得或設定值,這個值會決定 Holding 事件是否可以來自該專案。

(繼承來源 UIElement)
IsLoaded

取得值,這個值表示專案是否已新增至專案樹狀結構,且已準備好進行互動。

(繼承來源 FrameworkElement)
IsRightTapEnabled

取得或設定值,這個值會判斷 RightTapped 事件是否可以來自該專案。

(繼承來源 UIElement)
IsTabStop

取得或設定值,這個值表示控制項是否包含於索引標籤巡覽。

(繼承來源 UIElement)
IsTapEnabled

取得或設定值,這個值會決定 Tapped 事件是否可以來自該專案。

(繼承來源 UIElement)
KeyboardAcceleratorPlacementMode

取得或設定值,這個值表示控件 工具提示 是否顯示其相關聯鍵盤快捷鍵的按鍵組合。

(繼承來源 UIElement)
KeyboardAcceleratorPlacementTarget

取得或設定值,這個值表示顯示快速鍵組合的控件 工具提示

(繼承來源 UIElement)
KeyboardAccelerators

取得使用鍵盤叫用動作的按鍵組合集合。

快捷鍵通常會指派給按鈕或功能表項。

顯示各種功能表項鍵盤快捷鍵的功能表範例
顯示各種功能表項鍵盤快捷鍵的功能表範例

(繼承來源 UIElement)
KeyTipHorizontalOffset

取得或設定值,指出索引鍵提示相對於UIElement的左邊或右邊。

(繼承來源 UIElement)
KeyTipPlacementMode

取得或設定值,這個值表示存取索引鍵提示相對於UIElement界限的位置。

(繼承來源 UIElement)
KeyTipTarget

取得或設定值,這個值表示存取索引鍵提示的目標專案。

(繼承來源 UIElement)
KeyTipVerticalOffset

取得或設定值,這個值表示相對於UI元素放置索引鍵提示的上下距離。

(繼承來源 UIElement)
Language

取得或設定適用於 FrameworkElement 的當地語系化/全球化語言資訊,以及套用至物件表示法和 UI 中目前 FrameworkElement 的所有子元素。

(繼承來源 FrameworkElement)
Lights

取得附加至這個專案的 XamlLight 物件集合。

(繼承來源 UIElement)
ManipulationMode

取得或設定用於UIElement行為與手勢互動的ManipulationModes值。 設定此值可讓您處理來自應用程式程式碼中這個專案的操作事件。

(繼承來源 UIElement)
Margin

取得或設定 FrameworkElement 的外部邊界。

(繼承來源 FrameworkElement)
MaxHeight

取得或設定 FrameworkElement 的最大高度條件約束。

(繼承來源 FrameworkElement)
MaxWidth

取得或設定 FrameworkElement 的最大寬度條件約束。

(繼承來源 FrameworkElement)
MinHeight

取得或設定 FrameworkElement 的最小高度條件約束。

(繼承來源 FrameworkElement)
MinWidth

取得或設定 FrameworkElement 的最小寬度條件約束。

(繼承來源 FrameworkElement)
Name

取得或設定對象的識別名稱。 當 XAML 處理器從 XAML 標記建立物件樹狀結構時,運行時間程式代碼可以依這個名稱參考 XAML 宣告的物件。

(繼承來源 FrameworkElement)
NineGrid

取得或設定九網格線隱喻的值,控制影像的大小。 九網格線隱喻可讓您以不同於其中心的方式延展影像的邊緣和角落。 如需詳細資訊和圖例,請參閱。

NineGridProperty

識別 NineGrid 相依性屬性。

Opacity

取得或設定物件的不透明度程度。

(繼承來源 UIElement)
OpacityTransition

取得或設定 ScalarTransition,以動畫顯示 Opacity 屬性的變更。

(繼承來源 UIElement)
Parent

取得物件樹狀結構中這個 FrameworkElement 的父物件。

(繼承來源 FrameworkElement)
PointerCaptures

取得所有擷取指標的集合,表示為 指標 值。

(繼承來源 UIElement)
Projection

取得或設定轉譯這個專案時要套用 (立體效果) 的透視投影。

(繼承來源 UIElement)
ProtectedCursor

取得或設定指標位於這個專案上方時所顯示的游標。 默認為 null,表示數據指標沒有變更。

(繼承來源 UIElement)
RasterizationScale

取得值,表示每個檢視圖元的原始 (實體) 像素數目。

(繼承來源 UIElement)
RenderSize

取得 UIElement的最終轉譯大小。 不建議使用,請參閱。

(繼承來源 UIElement)
RenderTransform

取得或設定會影響 UIElement轉譯位置的轉換資訊。

(繼承來源 UIElement)
RenderTransformOrigin

取得或設定 RenderTransform 所宣告之任何可能轉譯轉換的原點,相對於 UIElement 的界限。

(繼承來源 UIElement)
RequestedTheme

取得或設定 UIElement (及其子元素所使用的 UI 主題,) 資源判斷。 您指定的 RequestedTheme UI 主題可以覆寫應用層級 RequestedTheme

(繼承來源 FrameworkElement)
Resources

取得本機定義的資源字典。 在 XAML 中,您可以透過 XAML 隱含集合語法,將資源專案建立為屬性元素的 frameworkElement.Resources 子物件專案。

(繼承來源 FrameworkElement)
Rotation

取得或設定順時針旋轉的角度,以度為單位。 相對於 RotationAxis 和 CenterPoint 旋轉。 影響項目的轉譯位置。

(繼承來源 UIElement)
RotationAxis

取得或設定要繞著專案旋轉的軸。

(繼承來源 UIElement)
RotationTransition

取得或設定 ScalarTransition,以動畫顯示 Rotation 屬性的變更。

(繼承來源 UIElement)
Scale

取得或設定專案的小數位數。 相對於專案的 CenterPoint 縮放比例。 影響項目的轉譯位置。

(繼承來源 UIElement)
ScaleTransition

取得或設定 Vector3Transition,以動畫顯示 Scale 屬性的變更。

(繼承來源 UIElement)
Shadow

取得或設定 專案所轉換的陰影效果。

(繼承來源 UIElement)
Source

取得或設定影像的來源。

SourceProperty

識別 來源 相依性屬性。

Stretch

取得或設定值,這個值描述如何延展 影像 以填滿目的矩形。

StretchProperty

識別 Stretch 相依性屬性。

Style

取得或設定配置和轉譯期間,針對這個物件套用的實例 Style

(繼承來源 FrameworkElement)
TabFocusNavigation

取得或設定值,這個值會修改Tabbing和 TabIndex 對此控件的運作方式。

(繼承來源 UIElement)
TabIndex

取得或設定值,這個值會決定當使用者使用 Tab 鍵巡覽控件時,元素接收焦點的順序。

(繼承來源 UIElement)
Tag

取得或設定可用來儲存此物件之自定義資訊的任意物件值。

(繼承來源 FrameworkElement)
Transform3D

取得或設定轉譯這個專案時要套用的 3D 轉換效果。

(繼承來源 UIElement)
TransformMatrix

取得或設定要套用至項目的轉換矩陣。

(繼承來源 UIElement)
Transitions

取得或設定套用至 UIElementTransition 樣式專案集合。

(繼承來源 UIElement)
Translation

取得或設定專案的 x、y 和 z 轉譯位置。

(繼承來源 UIElement)
TranslationTransition

取得或設定 Vector3Transition,以動畫顯示 Translation 屬性的變更。

(繼承來源 UIElement)
Triggers

取得針對 FrameworkElement 定義的動畫觸發程式集合。 不常使用。 請參閱<備註>。

(繼承來源 FrameworkElement)
UseLayoutRounding

取得或設定值,這個值會判斷物件及其視覺子樹的轉譯是否應該使用四捨五入行為,將轉譯對齊整個圖元。

(繼承來源 UIElement)
UseSystemFocusVisuals

取得或設定值,這個值表示控件是否使用由控件範本中定義的系統或焦點視覺效果所繪製的焦點視覺效果。

(繼承來源 UIElement)
VerticalAlignment

取得或設定垂直對齊特性,當 FrameworkElement 是由面板或專案控件等父物件所組成時套用至 FrameworkElement

(繼承來源 FrameworkElement)
Visibility

取得或設定 UIElement的可見性。 UIElement未顯示且不會將其所需的大小傳達給版面配置。

(繼承來源 UIElement)
Width

取得或設定 FrameworkElement 的寬度。

(繼承來源 FrameworkElement)
XamlRoot

取得或設定 XamlRoot 正在檢視這個專案的 。

(繼承來源 UIElement)
XYFocusDown

取得或設定對象,當使用者按下遊戲控制器的 Directional Pad (D-pad) 時取得焦點。

(繼承來源 UIElement)
XYFocusDownNavigationStrategy

取得或設定值,指定用來判斷向下瀏覽之目標元素的策略。

(繼承來源 UIElement)
XYFocusKeyboardNavigation

取得或設定值,這個值會啟用或停用使用鍵盤方向箭號的流覽。

(繼承來源 UIElement)
XYFocusLeft

取得或設定物件,當用戶在遊戲控制器的 Directional Pad (D 鍵) 左鍵時取得焦點。

(繼承來源 UIElement)
XYFocusLeftNavigationStrategy

取得或設定值,指定用來判斷左側導覽之目標元素的策略。

(繼承來源 UIElement)
XYFocusRight

取得或設定對象,當用戶在遊戲控制器的 Directional Pad (D-pad) 上按下滑鼠右鍵時,取得焦點。

(繼承來源 UIElement)
XYFocusRightNavigationStrategy

取得或設定值,指定用來判斷右導覽之目標元素的策略。

(繼承來源 UIElement)
XYFocusUp

取得或設定對象,當使用者按下遊戲控制器的 Directional Pad (D-pad) 時取得焦點。

(繼承來源 UIElement)
XYFocusUpNavigationStrategy

取得或設定值,指定用來判斷向上瀏覽之目標元素的策略。

(繼承來源 UIElement)

方法

AddHandler(RoutedEvent, Object, Boolean)

加入所指定路由事件的路由事件處理常式,會將此處理常式加入目前項目的處理常式集合中。 指定 handledEventsTootrue ,即使事件是在其他地方處理,仍要叫用提供的處理程式。

(繼承來源 UIElement)
Arrange(Rect)

放置子物件,並決定 UIElement的大小。 為其子項目實作自定義配置的父對象應該從其版面配置覆寫實作呼叫此方法,以形成遞歸版面配置更新。

(繼承來源 UIElement)
ArrangeOverride(Size)

提供配置「排列」階段的行為。 類別可以覆寫這個方法,以定義自己的「排列」傳遞行為。

(繼承來源 FrameworkElement)
CancelDirectManipulations()

取消任何包含目前 UIElementScrollViewer 父代上 (系統定義的行動瀏覽/縮放) 進行中的直接操作處理。

(繼承來源 UIElement)
CapturePointer(Pointer)

設定 UIElement 的指標擷取。 擷取之後,只有具有擷取的專案才會引發指標相關事件。

(繼承來源 UIElement)
ClearValue(DependencyProperty)

清除相依性屬性的本機值。

(繼承來源 DependencyObject)
FindName(String)

擷取具有指定標識碼名稱的物件。

(繼承來源 FrameworkElement)
FindSubElementsForTouchTargeting(Point, Rect)

可讓 UIElement 子類別公開可協助解決觸控目標的子元素。

(繼承來源 UIElement)
Focus(FocusState)

嘗試將焦點設定至此項目。

(繼承來源 UIElement)
GetAlphaMask()

會傳回遮罩,代表影像的Alpha色板做為 CompositionBrush

GetAnimationBaseValue(DependencyProperty)

傳回為相依性屬性建立的任何基底值,如果動畫未使用中,則適用此屬性。

(繼承來源 DependencyObject)
GetAsCastingSource()

傳回影像做為 CastingSource

GetBindingExpression(DependencyProperty)

會傳回代表指定屬性上系 結的 BindingExpression

(繼承來源 FrameworkElement)
GetChildrenInTabFocusOrder()

可讓 UIElement 子類別公開參與 Tab 焦點的子元素。

(繼承來源 UIElement)
GetValue(DependencyProperty)

DependencyObject 傳回相依性屬性的目前有效值。

(繼承來源 DependencyObject)
GetVisualInternal()

Visual擷取項目解析為 的 。

(繼承來源 UIElement)
GoToElementStateCore(String, Boolean)

在衍生類別中實作時,可在程式碼中啟用控件範本的個別狀態建構,而不是在控件啟動時載入所有狀態的 XAML。

(繼承來源 FrameworkElement)
InvalidateArrange()

使 UIElement 的排列狀態 (配置) 失效。 無效之後, UIElement 會更新其版面配置,這會以異步方式發生。

(繼承來源 UIElement)
InvalidateMeasure()

使 UIElement的度量狀態 (配置) 失效。

(繼承來源 UIElement)
InvalidateViewport()

使用來計算有效檢視區的UIElement檢視區狀態失效。

(繼承來源 FrameworkElement)
Measure(Size)

匯報 UIElementDesiredSize。 一般而言,針對其版面配置子系實作實作自定義配置的物件,會從自己的 MeasureOverride 實作呼叫這個方法,以形成遞歸版面配置更新。

(繼承來源 UIElement)
MeasureOverride(Size)

提供配置週期的「量值」階段行為。 類別可以覆寫這個方法,以定義自己的「量值」傳遞行為。

(繼承來源 FrameworkElement)
OnApplyTemplate()

每當應用程式程式代碼或內部進程 (例如重建版面配置傳遞) 呼叫 ApplyTemplate 時叫用。 簡單來說,這表示方法會在應用程式中顯示UI元素之前呼叫。 覆寫這個方法,以影響類別的預設後置範本邏輯。

(繼承來源 FrameworkElement)
OnBringIntoViewRequested(BringIntoViewRequestedEventArgs)

BringIntoViewRequested 事件發生之前呼叫。

(繼承來源 UIElement)
OnCreateAutomationPeer()

在衍生類別中實作時,會傳回 Microsoft 使用者介面自動化 基礎結構的類別特定 AutomationPeer 實作。

(繼承來源 UIElement)
OnDisconnectVisualChildren()

覆寫這個方法,以實作從類別特定內容或子系屬性移除專案時,配置和邏輯的行為。

(繼承來源 UIElement)
OnKeyboardAcceleratorInvoked(KeyboardAcceleratorInvokedEventArgs)

在應用程式中處理 鍵盤快捷方式 (或快捷鍵) 時呼叫。 覆寫這個方法,以處理叫用鍵盤快捷鍵時應用程式回應的方式。

(繼承來源 UIElement)
OnProcessKeyboardAccelerators(ProcessKeyboardAcceleratorEventArgs)

在應用程式中處理 鍵盤快捷方式 (或快捷鍵) 之前呼叫。 每當應用程式程式代碼或內部進程呼叫 ProcessKeyboardAccelerators 時叫用。 覆寫此方法以影響預設加速器處理。

(繼承來源 UIElement)
PopulatePropertyInfo(String, AnimationPropertyInfo)

定義可以產生動畫效果的屬性。

(繼承來源 UIElement)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

在衍生類別中覆寫時,定義可以產生動畫效果的屬性。

(繼承來源 UIElement)
ReadLocalValue(DependencyProperty)

如果已設定本機值,則傳回相依性屬性的本機值。

(繼承來源 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

註冊通知函式,以接聽此 DependencyObject 實例上特定 DependencyProperty 的變更。

(繼承來源 DependencyObject)
ReleasePointerCapture(Pointer)

釋放指標擷取,以供這個 UIElement擷取一個特定指標。

(繼承來源 UIElement)
ReleasePointerCaptures()

釋放這個專案保留的所有指標擷取。

(繼承來源 UIElement)
RemoveHandler(RoutedEvent, Object)

從這個 UIElement 移除指定的路由事件處理程式。 通常會由 AddHandler 新增有問題的處理程式。

(繼承來源 UIElement)
SetBinding(DependencyProperty, BindingBase)

使用提供的系結物件,將系結附加至 FrameworkElement

(繼承來源 FrameworkElement)
SetValue(DependencyProperty, Object)

設定 DependencyObject 上相依性屬性的本機值。

(繼承來源 DependencyObject)
StartAnimation(ICompositionAnimationBase)

開始專案上的指定動畫。

(繼承來源 UIElement)
StartBringIntoView()

起始 XAML 架構的要求,以將元素帶入其內含之任何可捲動區域內的檢視。

(繼承來源 UIElement)
StartBringIntoView(BringIntoViewOptions)

初始化 XAML 架構的要求,以使用指定的選項將專案帶入檢視。

(繼承來源 UIElement)
StartDragAsync(ExpPointerPoint)

代表顯示影像的控制項。 影像來源是藉由使用數種支援的格式來參照圖像檔來指定。 您也可以使用數據流來設定影像來源。 如需支援的影像來源格式清單,請參閱。

(繼承來源 UIElement)
StartDragAsync(PointerPoint)

啟始拖放作業。

重要

如果使用者以系統管理員身分以提升許可權模式執行應用程式,則不支援。

(繼承來源 UIElement)
StopAnimation(ICompositionAnimationBase)

停止元素上的指定動畫。

(繼承來源 UIElement)
TransformToVisual(UIElement)

傳回轉換物件,可用來將 UIElement 的座標轉換為指定的物件。

(繼承來源 UIElement)
TryInvokeKeyboardAccelerator(ProcessKeyboardAcceleratorEventArgs)

嘗試搜尋 UIElement 的整個可視化樹狀結構, 以叫用鍵盤快捷方式 (或快捷鍵)

(繼承來源 UIElement)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

取消先前透過呼叫 RegisterPropertyChangedCallback 註冊的變更通知。

(繼承來源 DependencyObject)
UpdateLayout()

確保 UIElement 子物件的所有位置都已針對版面配置正確更新。

(繼承來源 UIElement)

事件

AccessKeyDisplayDismissed

發生於不應再顯示存取金鑰時。

(繼承來源 UIElement)
AccessKeyDisplayRequested

發生於使用者要求顯示存取金鑰時。

(繼承來源 UIElement)
AccessKeyInvoked

發生於使用者完成存取金鑰序列時。

(繼承來源 UIElement)
ActualThemeChanged

發生於 ActualTheme 屬性值變更時。

(繼承來源 FrameworkElement)
BringIntoViewRequested

在這個專案或其中一個子代上呼叫 StartBringIntoView 時發生。

(繼承來源 UIElement)
CharacterReceived

發生於輸入佇列收到單一、撰寫的字元時。

(繼承來源 UIElement)
ContextCanceled

發生於內容輸入手勢繼續進入操作手勢時,通知專案不應開啟內容飛出視窗。

(繼承來源 UIElement)
ContextRequested

發生於使用者已完成內容輸入手勢時,例如按兩下滑鼠右鍵。

(繼承來源 UIElement)
DataContextChanged

發生於 FrameworkElement.DataContext 屬性的值變更時。

(繼承來源 FrameworkElement)
DoubleTapped

發生於在此元素的點擊測試區域上發生未處理的 DoubleTap 互動時。

(繼承來源 UIElement)
DragEnter

當輸入系統報告基礎拖曳事件,並將這個項目當做目標時發生。

(繼承來源 UIElement)
DragLeave

當輸入系統報告基礎拖曳事件,並將這個項目當做原點時發生。

(繼承來源 UIElement)
DragOver

在輸入系統回報以此項目作為可能置放目標的基礎拖曳事件時發生。

(繼承來源 UIElement)
DragStarting

發生於起始拖曳作業時。

(繼承來源 UIElement)
Drop

輸入系統報告其下以這個項目作為置放目標的置放事件時發生。

(繼承來源 UIElement)
DropCompleted

發生於以這個專案做為結束來源的拖放作業時。

(繼承來源 UIElement)
EffectiveViewportChanged

發生於 FrameworkElement的有效檢視區 變更時。

(繼承來源 FrameworkElement)
GettingFocus

發生於 UIElement 收到焦點之前。 此事件會同步引發,以確保事件反升時不會移動焦點。

(繼承來源 UIElement)
GotFocus

發生於 UIElement 收到焦點時。 此事件會以異步方式引發,因此焦點可以在反升完成之前再次移動。

(繼承來源 UIElement)
Holding

發生於在此元素的點擊測試區域上發生未處理的 保留 互動時。

(繼承來源 UIElement)
ImageFailed

發生於與影像擷取或格式相關聯的錯誤時。

ImageOpened

發生於下載並譯碼影像來源時,不會失敗。 您可以使用此事件來判斷影像來源的自然大小。

KeyDown

UIElement 有焦點時按下鍵盤按鍵時發生。

(繼承來源 UIElement)
KeyUp

發生於 UIElement 有焦點時放開鍵盤按鍵時。

(繼承來源 UIElement)
LayoutUpdated

發生於可視化樹狀結構的版面配置變更時,因為配置相關屬性會變更值或重新整理配置的其他一些動作。

(繼承來源 FrameworkElement)
Loaded

FrameworkElement 已建構並新增至物件樹狀結構,且已準備好進行互動時發生。

(繼承來源 FrameworkElement)
Loading

發生於 FrameworkElement 開始載入時。

(繼承來源 FrameworkElement)
LosingFocus

發生於 UIElement 失去焦點之前。 此事件會同步引發,以確保事件反升時不會移動焦點。

(繼承來源 UIElement)
LostFocus

發生於 UIElement 失去焦點時。 此事件會以異步方式引發,因此焦點可以在反升完成之前再次移動。

(繼承來源 UIElement)
ManipulationCompleted

發生於 UIElement 上的操作完成時。

(繼承來源 UIElement)
ManipulationDelta

輸入裝置在操作期間變更位置時發生。

(繼承來源 UIElement)
ManipulationInertiaStarting

在操作和慣性開始的時候,只要輸入裝置不與 UIElement 物件接觸便發生。

(繼承來源 UIElement)
ManipulationStarted

當輸入裝置開始在 UIElement 進行操作時發生。

(繼承來源 UIElement)
ManipulationStarting

發生於第一次建立操作處理器時。

(繼承來源 UIElement)
NoFocusCandidateFound

發生於用戶嘗試透過索引標籤或方向箭號移動焦點 () ,但焦點不會移動,因為不會在移動方向找到任何焦點候選專案。

(繼承來源 UIElement)
PointerCanceled

發生於讓聯繫人異常失去聯繫人的指標時。

(繼承來源 UIElement)
PointerCaptureLost

發生於這個專案先前保留的指標擷取移至另一個專案或其他地方時。

(繼承來源 UIElement)
PointerEntered

發生於指標進入這個項目的點擊測試區域時。

(繼承來源 UIElement)
PointerExited

發生於指標離開這個項目的點擊測試區域時。

(繼承來源 UIElement)
PointerMoved

當指標在指標保留在這個項目的點擊測試區域中時移動時發生。

(繼承來源 UIElement)
PointerPressed

發生於指標裝置起始這個專案內的 Press 動作時。

(繼承來源 UIElement)
PointerReleased

發生於先前起始 「按下」 動作的指標裝置釋放時,同時在此元素內。 請注意, Press 動作的結尾不保證會引發 PointerReleased 事件;其他事件可能會改為引發。 如需詳細資訊,請參閱。

(繼承來源 UIElement)
PointerWheelChanged

發生於指標滾輪的差異值變更時。

(繼承來源 UIElement)
PreviewKeyDown

發生於 UIElement 有焦點時按下鍵盤按鍵時。

(繼承來源 UIElement)
PreviewKeyUp

發生於 UIElement 有焦點時放開鍵盤按鍵時。

(繼承來源 UIElement)
ProcessKeyboardAccelerators

發生於按下 鍵盤快捷方式 (或快捷鍵) 時。

(繼承來源 UIElement)
RightTapped

發生於指標位於元素上方時發生右點選輸入壓力時。

(繼承來源 UIElement)
SizeChanged

發生於 FrameworkElement 上的 ActualHeightActualWidth 屬性值變更時。

(繼承來源 FrameworkElement)
Tapped

發生於此元素的點擊測試區域上發生未處理的 Tap 互動時。

(繼承來源 UIElement)
Unloaded

當這個物件不再連接到主要物件樹狀結構時發生。

(繼承來源 FrameworkElement)

適用於

另請參閱