x:Class – direktiva
Konfiguruje kompilaci značek XAML pro spojení částečných tříd mezi revizemi a kódem za sebou. Částečná třída kódu je definována v samostatném souboru kódu v jazyce CLS (Common Language Specification), zatímco revize částečná třída je obvykle vytvořena generováním kódu během kompilace XAML.
Použití atributu XAML
<object x:Class="namespace.classname"...>
...
</object>
Hodnoty XAML
Hodnota | Popis |
---|---|
namespace |
Volitelný. Určuje obor názvů CLR, který obsahuje částečnou třídu identifikovanou classname . Pokud je zadán namespace , tečka (.) odděluje namespace a classname . Viz poznámky. |
classname |
Požadovaný. Určuje název CLR částečné třídy, která spojuje načtený KÓD XAML a kód pro daný XAML. |
Závislosti
x:Class
lze zadat pouze v kořenovém prvku produkčního prostředí XAML.
x:Class
je neplatný pro všechny objekty, které mají nadřazený objekt v produkčním prostředí XAML. Další informace naleznete v [MS-XAML] Oddíl 6.3.1.6.
Poznámky
Hodnota namespace
může obsahovat další tečky pro uspořádání souvisejících oborů názvů do hierarchií názvů, což je běžná technika programování .NET. Pouze poslední tečka v řetězci x:Class
hodnot je interpretována tak, aby oddělovala namespace
a classname.
Třída, která se používá jako x:Class
, nemůže být vnořená třída. Vnořené třídy nejsou povoleny, protože určení významu tečk pro x:Class
řetězce je nejednoznačné, pokud jsou vnořené třídy povoleny.
V existujících programovacích modelech, které používají x:Class
, je x:Class
volitelný v tom smyslu, že je zcela platné mít stránku XAML, která neobsahuje kód. Tato schopnost ale komunikuje s akcemi sestavení, které implementují architektury používající XAML.
x:Class
schopností je také ovlivněna rolemi, které mají různé klasifikace obsahu určeného XAML v aplikačním modelu a v odpovídajících akcích sestavení. Pokud xaml deklaruje hodnoty atributů zpracování událostí nebo vytvoří instanci vlastních elementů, kde definující třídy jsou v kódu za třídou, musíte poskytnout odkaz na direktivu x:Class
(nebo x:Subclass) do příslušné třídy pro kód za sebou.
Hodnota direktivy x:Class
musí být řetězec, který určuje plně kvalifikovaný název třídy, ale bez informací o sestavení (ekvivalentní Type.FullName). U jednoduchých aplikací můžete vynechat informace o oboru názvů CLR, pokud je kód za kódem také strukturovaný tímto způsobem (definice kódu začíná na úrovni třídy).
Soubor kódu pro stránku nebo definici aplikace musí být v souboru kódu, který je součástí projektu, který vytváří kompilovanou aplikaci a zahrnuje kompilaci značek. Musíte dodržovat pravidla názvů pro třídy CLR. Další informace naleznete v tématu Framework Design Guidelines. Ve výchozím nastavení musí být třída kódu za kódem public
; můžete jej však definovat na jiné úrovni přístupu pomocí x:ClassModifier direktivy.
Tato interpretace atributu x:Class
platí pouze pro implementaci XAML založenou na CLR, zejména pro služby .NET XAML. Jiné implementace XAML, které nejsou založené na CLR a které nepoužívají .NET XAML Services, můžou použít jiný vzorec rozlišení pro připojení kódu XAML a backing kódu za běhu. Další informace o obecnější interpretaci x:Class
naleznete v tématu [MS-XAML].
Na určité úrovni architektury není význam x:Class
definován ve službách .NET XAML. Důvodem je to, že služba .NET XAML Services neurčuje programovací model, pomocí kterého jsou propojené kódy XAML a backing. Další použití direktivy x:Class
mohou být implementovány konkrétními architekturami, které používají programovací modely nebo aplikační modely k definování způsobu připojení kódu xaml a kódu založeného na CLR. Každá architektura může mít vlastní akce sestavení, které umožňují určité chování nebo konkrétní komponenty, které musí být zahrnuty v prostředí sestavení. V rámci architektury se akce sestavení můžou lišit také v závislosti na konkrétním jazyce CLR, který se používá pro kód na pozadí.
x:Class v programovacím modelu WPF
V aplikacích WPF a modelu aplikace WPF lze x:Class
deklarovat jako atribut pro libovolný prvek, který je kořenem souboru XAML a je kompilován (kde XAML je součástí projektu aplikace WPF s akcí sestavení Page
) nebo pro Application kořen v definici aplikace kompilované aplikace WPF. Deklarování x:Class
u jiného prvku než kořenového adresáře stránky nebo aplikace nebo v souboru WPF XAML, který není kompilován, způsobí chybu v době kompilace v kompilátoru .NET Framework 3.0 a .NET Framework 3.5 WPF XAML. Informace o dalších aspektech zpracování x:Class
ve WPF naleznete v tématu Code-Behind a XAML v WPF.
x:Class for Windows Workflow Foundation
Pro Windows Workflow Foundation x:Class
pojmenovat třídu vlastní aktivity složené zcela v XAML nebo pojmenovat částečnou třídu stránky XAML pro návrháře aktivit s kódem.
Poznámky k používání silverlightu
x:Class
pro Silverlight je dokumentován samostatně. Další informace najdete v tématu Funkce jazyka XAML (x:) Language Features (Silverlight).
Viz také
- direktiva x:Subclass
- XAML a vlastní třídy pro WPF
- direktiva x:ClassModifier
- typy migrované z WPF do System.Xaml
.NET Desktop feedback