Sdílet prostřednictvím


x:Key – atribut

Jednoznačně identifikuje prvky vytvořené a odkazované jako prostředky a které existují v rámci ResourceDictionary.

Použití atributu XAML

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

Použití atributů XAML (implicitní ResourceDictionary)

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

Hodnoty XAML

Term Description
objekt Libovolný objekt, který je možné sdílet. Viz Odkazy na prostředky ResourceDictionary a XAML.
stringKeyValue Řetězec true použitý jako klíč, který musí odpovídat gramatikě XamlName> . Viz "Gramatika XamlName" níže.

Gramatika XamlName

Následuje normativní gramatika pro řetězec, který se používá jako klíč v implementaci XAML prostředí Windows Runtime:

XamlName ::= NameStartChar (NameChar)*
NameStartChar ::= LetterCharacter | '_'
NameChar ::= NameStartChar | DecimalDigit
LetterCharacter ::= ('a'-'z') | ('A'-'Z')
DecimalDigit ::= '0'-'9'
CombiningCharacter::= none
  • Znaky jsou omezeny na dolní oblast ASCII a konkrétně na velká a malá písmena, číslice a podtržítko (_).
  • Oblast znaků Unicode není podporována.
  • Název nemůže začínat číslicí.

Poznámky

Podřízené prvky ResourceDictionary obecně zahrnují atribut x:Key , který určuje jedinečnou hodnotu klíče v rámci tohoto slovníku. Jedinečnost klíče je vynucována při načítání zpracovatelem XAML. Hodnoty x:Key , které nejsou jedinečné, způsobí výjimky analýzy XAML. Pokud je požadováno rozšířením značek {StaticResource}, nevyřešený klíč povede také k výjimkám při analýze XAML.

x:Key a x:Name nejsou identické koncepty. x:Key se používá výhradně ve slovnících zdrojů. x:Name se používá pro všechny oblasti XAML. Volání FindName pomocí hodnoty klíče nevrátí klíčovaný zdroj. Objekty definované ve slovníku prostředků můžou mít x:Key, x:Name nebo obojí. Klíč a název se nemusí shodovat.

Všimněte si, že v implicitní syntaxi je objekt ResourceDictionary implicitní v tom, jak procesor XAML vytvoří nový objekt pro naplnění kolekce Resources .

Ekvivalent kódu pro zadání x:Key je jakákoli operace, která používá klíč v rámci podkladového ResourceDictionary. Například x:Key použitý v kódu pro prostředek je ekvivalentní hodnotě klíčového parametru Insert při přidání prostředku do ResourceDictionary.

Položka ve slovníku prostředků může vynechat hodnotu x:Key , pokud se jedná o cílový styl nebo ControlTemplate; v každém z těchto případů implicitní klíč položky prostředku je hodnota TargetType interpretovaná jako řetězec. Další informace najdete v tématu Styly XAML a ResourceDictionary a odkazy na prostředky XAML.