Megosztás:


x:Osztályattribútum

Az XAML-fordítást úgy konfigurálja, hogy a részleges osztályokat összekapcsolja a jelölőnyelv és a kódfájl között. A kód részleges osztálya egy külön kódfájlban van definiálva, a korrektúra részleges osztályát pedig a kódgenerálás hozza létre az XAML-fordítás során.

XAML-attribútumok használata

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

XAML-értékek

Időszak Description
névtér Opcionális. Olyan névteret ad meg, amely az osztálynév által azonosított részleges osztályt tartalmazza. Ha a névtér meg van adva, egy pont (.) választja el a névteret és az osztálynevet. Ha a névtér nincs megadva, akkor a rendszer feltételezi, hogy az osztálynév nem rendelkezik névtérrel.
osztálynév Szükséges. Megadja annak a részleges osztálynak a nevét, amely összekapcsolja a betöltött XAML-t a hozzá tartozó kód mögötti osztállyal.

Megjegyzések

x:Class bármely olyan elem attribútumaként deklarálható, amely egy XAML-fájl/objektumfa gyökerét képezi, és fordítási folyamat során összeállításra kerül, vagy a Application gyökere az alkalmazásdefinícióban lefordított alkalmazásban. Ha a x:Class-t a gyökércsomóponton kívüli bármely elemen deklarálja, és bármilyen körülmények között egy olyan XAML-fájl esetében, amely nincs a Page összeállítási művelettel fordítva, fordítási hibát eredményez.

Az x:Osztályként használt osztály nem lehet beágyazott osztály.

Az x:Osztály attribútum értékének egy olyan sztringnek kell lennie, amely meghatározza az osztály teljes nevét. Kihagyhatja a névtéradatokat mindaddig, amíg a mögöttes kód is így van strukturálva (az osztálydefiníció az osztály szintjén kezdődik). Egy lap vagy alkalmazásdefiníció kód mögötti fájljának egy olyan kódfájlban kell lennie, amely a projekt részeként szerepel. A kód mögötti osztálynak nyilvánosnak kell lennie. A kód mögötti osztálynak részlegesnek kell lennie.

CLR nyelvi szabályok

Bár a kód mögötti fájl lehet C++ fájl, vannak bizonyos konvenciók, amelyek továbbra is a CLR nyelvi űrlapot követik, így nincs különbség az XAML szintaxisban. Különösen, a x:Class értékek névtér- és osztálynév komponensei közötti elválasztó mindig pont (".") lesz, még akkor is, ha az XAML-hez társított C++ kódfájlban a névtér és osztálynév közötti elválasztó "::". Ha beágyazott névtereket deklarál a C++-ban, akkor az egymást követő beágyazott névtér-sztringek közötti elválasztónak is "." kell lennie a "." helyett, ha az x:Osztály érték névtérrészét adja meg.