共用方式為


x:Key屬性

唯一識別作為資源創建和參考的元素,及存在於 ResourceDictionary 內的元素。

XAML 屬性使用方式

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

XAML 屬性使用方式 (隱含 ResourceDictionary

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

XAML 值

術語 Description
物件 任何可共用的物件。 請參閱 ResourceDictionary 和 XAML 資源參考
字串鍵值 用作索引鍵的 true 字串,必須符合 XamlName> 語法。 請參閱下方的「XamlName 文法」。

XamlName 文法

以下是在 Windows 執行階段 XAML 實作中用作鍵的字串的標準文法:

XamlName ::= NameStartChar (NameChar)*
NameStartChar ::= LetterCharacter | '_'
NameChar ::= NameStartChar | DecimalDigit
LetterCharacter ::= ('a'-'z') | ('A'-'Z')
DecimalDigit ::= '0'-'9'
CombiningCharacter::= none
  • 字元僅限於較低的 ASCII 範圍,更具體地說是羅馬字母大寫和小寫字母、數字和底線 (_) 字元。
  • 不支援 Unicode 字元範圍。
  • 名稱不能以數字開頭。

備註

ResourceDictionary 的子元素通常包含 x:Key 屬性,該屬性指定該字典內的唯一索引鍵值。 金鑰唯一性是由 XAML 處理器在載入時強制執行。 非唯一的 x:Key 值會導致 XAML 剖析例外狀況。 如果 {StaticResource} 標記延伸模組有要求,未被解析的鍵值也會導致 XAML 解析例外。

x:Keyx:Name 不是相同的概念。 x:Key 專門用於資源字典。 x:Name 用於 XAML 的所有區域。 使用索引鍵值的 FindName 呼叫不會擷取索引鍵資源。 資源字典中定義的物件可能具有 x:Keyx:Name 或兩者。 金鑰和名稱不需要相符。

請注意,在顯示的隱含語法中, ResourceDictionary 物件隱含於 XAML 處理器產生新物件以填入 Resources 集合的方式中。

指定 x:Key 的程式碼相當於使用具有基礎 ResourceDictionary 的索引鍵的任何作業。 例如,當您將資源新增至 ResourceDictionary 時,在資源標記中套用的 x:Key 相當於 Insert索引鍵參數值。

資源字典中的專案如果是目標 StyleControlTemplate,則可以省略 x:Key 的值;在每種情況下,資源項目的隱含索引鍵是解譯為字串的 TargetType 值。 如需詳細資訊,請參閱 XAML 樣式ResourceDictionary 和 XAML 資源參考