Sdílet prostřednictvím


x:Class – atribut

Konfiguruje kompilaci XAML pro spojení dílčích tříd mezi značkovacím jazykem a kódem na pozadí. Částečná třída kódu je definována v samostatném souboru kódu a kód částečné třídy je vytvořen generováním kódu během kompilace XAML.

Použití atributu XAML

<object x:Class="namespace.classname"...>
  ...
</object>

Hodnoty XAML

Term Description
názvový prostor Optional. Určuje obor názvů, který obsahuje částečnou třídu identifikovanou názvem třídy. Pokud je zadán obor názvů , tečka (.) odděluje obor názvů a název třídy. Pokud je obor názvů vynechán, předpokládá se, že název třídy nemá žádný obor názvů.
classname Povinné. Určuje název částečné třídy, která propojuje načtené XAML a váš kód na pozadí pro tento XAML.

Poznámky

x:Class lze deklarovat jako atribut pro libovolný prvek, který je kořenem stromu souboru NEBO objektu XAML a je kompilován akcemi sestavení nebo pro kořen aplikace v definici aplikace kompilované aplikace. Deklarování třídy x:Class u jakéhokoli jiného prvku než kořenového uzlu a za jakýchkoli okolností pro soubor XAML, který není kompilován pomocí akce sestavení stránky , má za následek chybu v době kompilace.

Třída použitá jako x:Class nemůže být vnořenou třídou.

Hodnota atributu x:Class musí být řetězec, který určuje plně kvalifikovaný název třídy. Informace o oboru názvů můžete vynechat tak dlouho, dokud je struktura kódu za kódem strukturovaná (definice třídy začíná na úrovni třídy). Soubor kódu na pozadí pro stránku nebo definici aplikace musí být v souboru, který je součástí projektu. Třída pozadí kódu musí být veřejná. Třída kódu za kódem musí být částečná.

Pravidla jazyka CLR

I když kódový soubor na pozadí může být soubor C++, existují určité konvence, které stále následují podobu jazyka CLR, takže v syntaxi XAML není žádný rozdíl. Konkrétně oddělovač mezi komponentami oboru názvů a názvu třídy libovolné hodnoty x:Class je vždy tečka ("."), i když oddělovač mezi oborem názvů a názvem třídy v souboru kódu C++ přidruženém k XAML je "::". Pokud deklarujete vnořené obory názvů v jazyce C++, měl by oddělovač mezi po sobě jdoucími vnořenými řetězci oboru názvů být také "." místo "::" při zadání části oboru názvů hodnoty x:Class .