共用方式為


{CustomResource} 標記語言擴展

提供一個值給任何 XAML 屬性,這個值是通過評估來自自訂資源查閱實作的資源參考而得的。 資源查閱是由 CustomXamlResourceLoader 類別實作所執行。

XAML 屬性使用方式

<object property="{CustomResource key}" .../>

XAML 值

術語 Description
Key 所要求資源的金鑰。 金鑰的初始指派方式特定於目前註冊以供使用的 CustomXamlResourceLoader 類別實作。

備註

CustomResource 是一種技術,用於取得自訂資源儲存庫中其他位置定義的值。 此技術相對進階,而且大部分的 Windows 執行階段應用程式案例不會使用。

本主題不會說明 CustomResource 解析為資源字典的方式,因為這可能會因 CustomXamlResourceLoader 的實作方式而有很大差異。

每當 Windows 執行階段 XAML 剖析器在標記中遇到 {CustomResource} 使用時,便會呼叫 CustomXamlResourceLoader 實作的 {CustomResource} 方法。 傳遞至 GetResourceresourceId 來自索引鍵引數,而其他輸入參數則來自內容,例如套用使用方式的屬性。

{CustomResource}使用方式預設無法運作 (GetResource 的基底實作不完整)。 若要建立有效的 {CustomResource} 參照,您必須執行下列每個步驟:

  1. CustomXamlResourceLoader 衍生自訂類別,並覆寫 GetResource 方法。 請勿在實作中呼叫 base。
  2. 設定 CustomXamlResourceLoader.Current 以在初始化邏輯中參考您的類別。 必須在載入任何包含 {CustomResource} 延伸模組使用之頁面層級 XAML 之前,完成此操作。 設定 CustomXamlResourceLoader.Current 的其中一個位置是在 App.xaml 程式碼後置範本中為您產生的 Application 子類別建構函式中。
  3. 現在,您可以在應用程式載入為頁面的 XAML 中或從 XAML 資源字典中使用 {CustomResource} 擴充功能。

CustomResource 是標記延伸模組。 當需要逸出屬性值為非常值或處理常式名稱時,通常會實作標記延伸模組,而且需求比將類型轉換器放在特定類型或屬性上更全域。 XAML 中的所有標記延伸模組都會在其屬性語法中使用 “{” 和 “}” 字元,這是 XAML 處理器辨識標記延伸模組必須處理屬性的慣例。