共用方式為


x:Key 屬性

更新:2007 年 11 月

唯一識別當做資源建立和參考的項目,以及位於 ResourceDictionary 內的項目。

XAML 屬性使用方式

<object.Resources>
  <object x:Key="stringKeyValue".../>
</object.Resources>

XAML 值

stringKeyValue

當做索引鍵使用的真正字串,它必須符合 XamlName 文法

-或-

提供替代物件型別做為索引鍵的標記延伸。請參閱「備註」。

備註

本身為 IDictionary 實作 (例如 ResourceDictionary) 的父項目,其子項目通常必須包含 x:Key 屬性,以指定該字典內的唯一索引鍵值。有 TargetTypeStyle 或有 DataTypeDataTemplate 例外,因為這兩者已有隱含索引鍵。索引鍵的唯一性是由 WPF XAML 處理器實作在載入時強制執行的。遺漏和 (或) 非唯一的 x:Key 值將導致載入時間錯誤。

x:Key 的屬性值可以是 XamlName 文法中定義的任何字串,也可以是透過標記延伸評估的物件。例如,x:Key 的值可以是 ComponentResourceKey。當某些控制項公開樣式索引鍵,此索引鍵可用來建立自訂樣式資源以影響該控制項的外觀和操作,但又不會完全取代樣式時,就會使用此處的案例。這類索引鍵的範例有 ButtonStyleKey

請注意,在顯示的語法中,ResourceDictionary 物件在 XAML 處理器產生集合來填入 Resources 集合的方式中是隱含的,通常不會明確提供做為標記中的項目,不過,若要避免混淆,還是可以明確提供 (它就會成為 Resources 屬性項目和其中填入字典的項目之間的集合物件項目)。如需集合物件之所以是標記中的隱含項目的原因詳細資訊,請參閱 XAML 語法術語

在 WPFXAML 處理器實作中,這個標記延伸的處理是由 ResourceKey 抽象類別定義的。不過,WPFXAML 處理器會根據索引鍵的使用方式,產生不同的基礎延伸型別。例如,DataTemplate 或衍生類別的索引鍵是分開處理的,會產生不同的 DataTemplateKey 物件。

索引鍵和名稱並非相同概念,事實上,根據 WPF 的定義,兩者是互斥的。如需詳細資訊,請參閱 WPF 命名範圍

指定 x:Key 的程式碼對等用法,是在會將索引鍵用於基礎 IDictionary 的任何作業使用的索引鍵。例如,套用在資源的標記中的 x:Key,就等同於當您將資源加入到 ResourceDictionary 時,ResourceDictionary.Add 的 key 參數值 (x:Key 是一項 XAML 語言功能,雖不是專屬 ResourceDictionary 使用,但這是 x:Key 在 WPFXAML 實作中最常見的應用)。

請參閱

概念

資源概觀

資源和程式碼

參考

StaticResource 標記延伸