Image 類別

定義

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

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

Windows 需求

裝置系列
Windows 10 (已於 10.0.10240.0 引進)
API contract
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)

範例

提示

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

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

備註

影像檔案格式

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

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

注意

僅限 Windows 上支援的圖示檔案。 Windows Phone 8.1 不支援

從 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的資源資格和當地語系化

影像 來源檔案和調整

您應該以數個建議的大小建立映射來源,以確保您的 App 在 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 元素之協助工具層面的詳細資訊,請參閱 基本協助工具資訊

Windows 8 行為

針對 Windows 8,資源可以使用資源限定詞模式,根據裝置特定的調整來載入不同的資源。 不過,如果應用程式執行時縮放比例變更,則不會自動重載資源。 在此情況下,應用程式必須負責重載資源,方法是處理 DpiChanged 事件 (或已取代的 LogicalDpiChanged 事件) ,並使用 ResourceManager API 手動重載適用于新縮放比例的資源。 從Windows 8.1開始,如果應用程式執行時縮放比例變更,系統會自動重新評估原本為應用程式擷取的任何資源。 此外,當該資源是 Image 物件的影像來源時,就會引發 ImageOpenedImageFailed) 其中一個來源載入 (事件,因為系統要求新資源的動作,然後將它套用至 Image。 執行時間調整變更可能發生的案例,是當使用者在有一個以上的可用時,將您的應用程式移至不同的監視器。

如果您將應用程式程式碼從 Windows 8 移轉至Windows 8.1您可能想要考慮此行為變更,因為它會導致在處理調整變更時于執行時間發生的ImageOpenedImageFailed事件,即使來源是在 XAML 中設定。 此外,如果您有處理DpiChangedLogicalDpiChanged/ 並重設資源的程式碼,您應該檢查是否仍需要該程式碼,因為新的Windows 8.1自動重載行為。

針對 Windows 8 編譯但在 Windows 8.1 上執行的應用程式會繼續使用 Windows 8 的行為。

版本歷程記錄

Windows 版本 SDK 版本 新增值
1607 14393 GetAlphaMask

建構函式

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

取得與此物件相關聯的 CoreDispatcherCoreDispatcher代表可以存取 UI 執行緒上DependencyObject的功能,即使程式碼是由非 UI 執行緒起始也一樣。

(繼承來源 DependencyObject)
ExitDisplayModeOnAccessKeyInvoked

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

(繼承來源 UIElement)
FlowDirection

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

(繼承來源 FrameworkElement)
FocusVisualMargin

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

(繼承來源 FrameworkElement)
FocusVisualPrimaryBrush

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

(繼承來源 FrameworkElement)
FocusVisualPrimaryThickness

取得或設定FrameworkElement之外部 Reveal 框線的 HighVisibility 粗細。

(繼承來源 FrameworkElement)
FocusVisualSecondaryBrush

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

(繼承來源 FrameworkElement)
FocusVisualSecondaryThickness

取得或設定FrameworkElementHighVisibilityReveal 焦點視覺效果的內部框線粗細。

(繼承來源 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)
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)
PlayToSource

取得影像用於播放至案例時所傳輸的資訊。

PlayToSourceProperty

識別 PlayToSource 相依性屬性。

PointerCaptures

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

(繼承來源 UIElement)
Projection

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

(繼承來源 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)
Tag

取得或設定任意物件值,可用來儲存這個物件的自訂資訊。

(繼承來源 FrameworkElement)
Transform3D

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

(繼承來源 UIElement)
TransformMatrix

取得或設定要套用至專案的轉換矩陣。

(繼承來源 UIElement)
Transitions

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

(繼承來源 UIElement)
Translation

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

(繼承來源 UIElement)
TranslationTransition

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

(繼承來源 UIElement)
Triggers

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

(繼承來源 FrameworkElement)
UIContext

取得專案的內容識別碼。

(繼承來源 UIElement)
UseLayoutRounding

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

(繼承來源 UIElement)
VerticalAlignment

取得或設定在面板或專案控制項等父物件中撰寫時套用至 FrameworkElement 的垂直對齊特性。

(繼承來源 FrameworkElement)
Visibility

取得或設定 UIElement的可見度。 不會轉譯不可見的 UIElement ,也不會將其所需的大小傳達給版面配置。

(繼承來源 UIElement)
Width

取得或設定 FrameworkElement的寬度。

(繼承來源 FrameworkElement)
XamlRoot

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

(繼承來源 UIElement)
XYFocusDownNavigationStrategy

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

(繼承來源 UIElement)
XYFocusKeyboardNavigation

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

(繼承來源 UIElement)
XYFocusLeftNavigationStrategy

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

(繼承來源 UIElement)
XYFocusRightNavigationStrategy

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

(繼承來源 UIElement)
XYFocusUpNavigationStrategy

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

(繼承來源 UIElement)

方法

AddHandler(RoutedEvent, Object, Boolean)

加入所指定路由事件的路由事件處理常式,會將此處理常式加入目前項目的處理常式集合中。 將 handledEventsToo 指定為 true ,以便叫用提供的處理常式,即使事件是在其他地方處理也一樣。

(繼承來源 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)
GetAlphaMask()

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

GetAnimationBaseValue(DependencyProperty)

傳回針對相依性屬性所建立的任何基底值,如果動畫未使用中,則會套用。

(繼承來源 DependencyObject)
GetAsCastingSource()

將影像傳回為 CastingSource

GetBindingExpression(DependencyProperty)

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

(繼承來源 FrameworkElement)
GetChildrenInTabFocusOrder()

可讓 UIElement 子類別公開參與 Tab 焦點的子項目。

(繼承來源 UIElement)
GetValue(DependencyProperty)

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

(繼承來源 DependencyObject)
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 UI 自動化基礎結構的類別特定 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(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

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

(繼承來源 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

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

(繼承來源 FrameworkElement)
Tapped

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

(繼承來源 UIElement)
Unloaded

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

(繼承來源 FrameworkElement)

適用於

另請參閱