x:Code – vnitřní typ jazyka XAML
Umožňuje umístění kódu v produkčním prostředí XAML. Takový kód lze buď zkompilovat jakoukoli implementací procesoru XAML, která kompiluje XAML, nebo ponechána v produkčním prostředí XAML pro pozdější použití, jako je interpretace modulem runtime.
Použití elementu objektu XAML
<x:Code>
// code instructions, usually enclosed by CDATA...
</x:Code>
Poznámky
Kód uvnitř elementu x:Code
direktivy XAML je stále interpretován v rámci obecného oboru názvů XML a zadaných oborů názvů XAML. Proto je obvykle nutné uzavřít kód použitý pro x:Code
uvnitř CDATA
segmentu.
x:Code
není povolen pro všechny možné mechanismy nasazení v produkčním prostředí XAML. V konkrétních architekturách (například WPF) musí být kód zkompilován. V jiných architekturách x:Code
může být použití obecně zakázáno.
Pro architektury, které umožňují spravovaný x:Code
obsah, je správný kompilátor jazyka, který se má použít pro x:Code
obsah, určen nastavením a cíli obsahujícího projektu, který se používá ke kompilaci aplikace.
Poznámky k využití WPF
Kód deklarovaný v rámci x:Code
WPF má několik znaménných omezení:
Element
x:Code
direktivy musí být okamžitý podřízený prvek kořenového prvku v produkčním prostředí XAML.Pro nadřazený kořenový prvek musí být uvedena direktiva x:Class.
Kód umístěný uvnitř
x:Code
bude zpracován kompilací tak, aby byl v oboru částečné třídy, která je již vytvořena pro danou stránku XAML. Proto veškerý kód, který definujete, musí být členy nebo proměnné této částečné třídy.Nelze definovat další třídy, jiné než vnořením třídy uvnitř částečné třídy (vnoření je povoleno, ale není to typické, protože vnořené třídy nelze odkazovat v XAML). Obory názvů CLR jiné než obor názvů, který se používá pro existující částečnou třídu, nelze definovat ani přidat.
Odkazy na entity kódu mimo obor názvů CLR částečné třídy musí být všechny plně kvalifikované. Pokud jsou deklarované členy přepsány na částečné členy přepsání třídy, musí být zadáno pomocí klíčového slova přepsání specifické pro jazyk. Pokud jsou členy deklarované v
x:Code
konfliktu s členy částečné třídy vytvořené z XAML tak, aby kompilátor hlásí konflikt, soubor XAML nemůže kompilovat nebo načíst.
Viz také
.NET Desktop feedback