Freigeben über


x:Key-Attribut

Dient zum eindeutigen Identifizieren von Elementen, die als Ressourcen erstellt und referenziert werden und innerhalb eines ResourceDictionary-Elements 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 (object) Beliebige Objekte, die freigegeben werden können. Weitere Informationen finden Sie unter ResourceDictionary- und XAML-Ressourcenverweise.
stringKeyValue Eine true-Zeichenfolge, die als Schlüssel verwendet wird, die der XamlName-Grammatik> entsprechen muss. Weitere Informationen erhalten Sie in "XamlName-Grammatik" unten.

XamlName-Grammatik

Im Anschluss finden Sie die maßgebende Grammatik für eine Zeichenfolge, die in der UWP-XAML-Implementierung (Universelle Windows-Plattform) als Schlüssel 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 des römischen Alphabets, Ziffern und den Unterstrich (_).
  • Der Unicode-Zeichenbereich wird nicht unterstützt.
  • Ein Name darf nicht mit einer Ziffer beginnen.

Hinweise

Zu den untergeordneten Elementen eines ResourceDictionary-Elements gehört im Allgemeinen ein x:Key-Attribut zum Angeben eines eindeutigen Schlüsselwerts innerhalb des Wörterbuchs. Die Eindeutigkeit von Schlüsseln wird beim Laden durch den XAML-Prozessor erzwungen. Nicht eindeutige x:Key-Werte haben XAML-Analyseausnahmen zur Folge. Auf Anforderung der {StaticResource}-Markuperweiterung haben auch nicht aufgelöste Schlüssel XAML-Analyseausnahmen zur Folge.

x:Key und x:Name sind nicht identisch. x:Key wird ausschließlich in Ressourcenwörterbüchern verwendet. x:Name wird in allen XAML-Bereichen verwendet. Durch einen FindName-Aufruf mit einem Schlüsselwert wird keine Ressource mit Schlüssel abgerufen. Objekte, die in einem Ressourcenwörterbuch definiert sind, verfügen über x: Key oder x: Name oder über beide. „Key“ und „Name“ müssen nicht übereinstimmen.

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

Der Code zum Angeben von x:Key entspricht einem beliebigen Vorgang, in dem ein Schlüssel mit dem zugrunde liegenden ResourceDictionary verwendet wird. So entspricht beispielsweise ein im Markup für eine Ressource angewendeter x:Key dem Wert des key-Parameters Insert, wenn Sie die Ressource einem ResourceDictionary hinzufügen.

Ein Element in einem Ressourcenwörterbuch kann einen Wert für x:Key auslassen, wenn es sich um ein zielgerichtetes Style- oder ControlTemplate-Element handelt. In all diesen Fällen ist der implizite Schlüssel des Ressourcenelements der als Zeichenfolge interpretierte TargetType-Wert. Weitere Informationen finden Sie unter Schnellstart: Formatieren von Steuerelementen und ResourceDictionary- und XAML-Ressourcenverweise.