Freigeben über


x:Key-Attribut

Identifiziert eindeutig Elemente, die als Ressourcen erstellt und referenziert werden und die in einem ResourceDictionary vorhanden sind.

XAML-Attributsyntax

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

XAML-Attributverwendung (implizites ResourceDictionary)

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

XAML-Werte

Begriff Beschreibung
Objekt Jedes Objekt, das gemeinsam verwendet werden kann. Siehe ResourceDictionary- und XAML-Ressourcenverweise.
stringKeyValue Eine echte Zeichenfolge, die als Schlüssel verwendet wird, die der XamlName-Grammatik> entsprechen muss. Siehe "XamlName-Grammatik" weiter unten.

XamlName-Grammatik

Nachfolgend sehen Sie die normative Grammatik für eine Zeichenfolge, die als Schlüssel in der XAML-Implementierung von Universelle Windows-Plattform (UWP) verwendet wird:

XamlName ::= NameStartChar (NameChar)*
NameStartChar ::= LetterCharacter | '_'
NameChar ::= NameStartChar | DecimalDigit
LetterCharacter ::= ('a'-'z') | ('A'-'Z')
DecimalDigit ::= '0'-'9'
CombiningCharacter::= none
  • Zeichen sind auf den unteren ASCII-Bereich beschränkt, insbesondere auf Groß- und Kleinbuchstaben, Ziffern und das Unterstrichzeichen (_).
  • Der Unicode-Zeichenbereich wird nicht unterstützt.
  • Ein Name kann nicht mit einer Ziffer beginnen.

Hinweise

Untergeordnete Elemente eines ResourceDictionary enthalten in der Regel ein x:Key-Attribut, das einen eindeutigen Schlüsselwert innerhalb dieses Wörterbuchs angibt. Die Eindeutigkeit des Schlüssels wird zum Ladezeitpunkt durch den XAML-Prozessor erzwungen. Nicht eindeutige x:Key-Werte führen zu XAML-Analyseausnahmen. Wenn von der {StaticResource}-Markuperweiterung angefordert wird, führt ein nicht aufgelöster Schlüssel auch zu XAML-Analyseausnahmen.

x:Key und x:Name sind keine identischen Konzepte. x:Key wird ausschließlich in Ressourcenwörterbüchern verwendet. x:Name wird für alle XAML-Bereiche verwendet. Ein FindName-Aufruf mit einem Schlüsselwert ruft keine Schlüsselressource ab. Objekte, die in einem Ressourcenwörterbuch definiert sind, weisen möglicherweise ein x:Key, ein x:Name oder beides auf. Der Schlüssel und name müssen nicht übereinstimmen.

Beachten Sie, dass das ResourceDictionary-Objekt in der gezeigten impliziten Syntax implizit darin besteht, wie der XAML-Prozessor ein neues Objekt erzeugt, um eine Resources-Auflistung aufzufüllen.

Das Codeäquivalent zum Angeben von "x:Key " ist jeder Vorgang, der einen Schlüssel mit dem zugrunde liegenden ResourceDictionary verwendet. Beispielsweise entspricht ein im Markup für eine Ressource angewendeter x:Key dem Wert des Schlüsselparameters von Insert, wenn Sie die Ressource zu einem ResourceDictionary hinzufügen.

Ein Element in einem Ressourcenwörterbuch kann einen Wert für "x:Key" weglassen, wenn es sich um ein gezieltes Style- oder ControlTemplate-Element handelt. In jedem dieser Fälle ist der implizite Schlüssel des Ressourcenelements der TargetType-Wert, der als Zeichenfolge interpretiert wird. Weitere Informationen finden Sie in der Schnellstartanleitung: Formatieren von Steuerelementen und ResourceDictionary- und XAML-Ressourcenverweise.