Aracılığıyla paylaş


x:Key özniteliği

Kaynak olarak oluşturulan ve başvurulan ve resourceDictionary içinde var olan öğeleri benzersiz olarak tanımlar.

XAML öznitelik kullanımı

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

XAML öznitelik kullanımı (örtük ResourceDictionary)

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

XAML değerleri

Süre Description
object Paylaşılabilir herhangi bir nesne. Bkz. ResourceDictionary ve XAML kaynak başvuruları.
stringAnahtarDeğer (stringKeyValue) Anahtar olarak kullanılan ve XamlName> dil bilgisi ile uyumlu olması gereken gerçek bir dize. Aşağıdaki "XamlName dilbilgisi" bölümüne bakın.

XamlName dilbilgisi

Aşağıda, Windows Çalışma Zamanı XAML uygulamasında anahtar olarak kullanılan bir dize için normatif dil bilgisi yer alır:

XamlName ::= NameStartChar (NameChar)*
NameStartChar ::= LetterCharacter | '_'
NameChar ::= NameStartChar | DecimalDigit
LetterCharacter ::= ('a'-'z') | ('A'-'Z')
DecimalDigit ::= '0'-'9'
CombiningCharacter::= none
  • Karakterler alt ASCII aralığıyla ve daha özel olarak Roma alfabesi büyük ve küçük harf, rakam ve alt çizgi (_) karakteriyle sınırlıdır.
  • Unicode karakter aralığı desteklenmiyor.
  • Ad bir rakamla başlayamaz.

Açıklamalar

ResourceDictionary'nin alt öğeleri, genellikle o sözlük içinde benzersiz bir anahtarı belirleyen bir x:Key özniteliği içerir. Anahtar benzersizliği, XAML işlemcisi tarafından yükleme sırasında sağlanır. Benzersiz olmayan x:Key değerleri XAML ayrıştırma özel durumlarına neden olur. {StaticResource} işaretleme uzantısı tarafından istenirse, çözümlenmemiş bir anahtar da XAML ayrıştırma özel durumlarıyla sonuçlanır.

x:Key ve x:Name aynı kavramlar değildir. x:Key yalnızca kaynak sözlüklerinde kullanılır. x:Name, XAML'nin tüm alanları için kullanılır. Anahtar değeri kullanan FindName çağrısı anahtarlı bir kaynağı almayacaktır. Kaynak sözlüğünde tanımlanan nesnelerin x:Key, x:Name veya her ikisi de olabilir. Anahtarın ve adın eşleşmesi gerekli değildir.

Gösterilen örtük söz diziminde ResourceDictionary nesnesinin, XAML işlemcisinin Resources koleksiyonunu doldurmak için yeni bir nesne üretme şekline örtük olduğunu unutmayın.

x:Key belirtmenin kod eşdeğeri, temelindeki ResourceDictionary ile bir anahtar kullanan herhangi bir işlemdir. Örneğin, bir kaynak için işaretlemeye uygulanan x:Key, kaynağı bir ResourceDictionary'ye eklediğinizde key parametresinin Insert işlemindeki değerine eşdeğerdir.

Hedeflenen style veya ControlTemplate ise, kaynak sözlüğündeki bir öğe x:Key değerini atlayabilir; bu durumların her birinde kaynak öğesinin örtük anahtarı, dize olarak yorumlanan TargetType değeridir. Daha fazla bilgi için bkz. XAML stilleri ve ResourceDictionary ve XAML kaynak başvuruları.