x:Code Intrinsic XAML Type
Tillåter placering av kod i en XAML-produktion. Sådan kod kan antingen kompileras av en XAML-processorimplementering som kompilerar XAML eller lämnas kvar i XAML-produktionen för senare användning, till exempel tolkning av en körning.
Användning av XAML-objektelement
<x:Code>
// code instructions, usually enclosed by CDATA...
</x:Code>
Anmärkningar
Koden i x:Code
XAML-direktivelementet tolkas fortfarande inom det allmänna XML-namnområdet och de XAML-namnområden som tillhandahålls. Därför är det vanligtvis nödvändigt att omsluta koden som används för x:Code
i ett CDATA
segment.
x:Code
tillåts inte för alla möjliga distributionsmekanismer i en XAML-produktion. I specifika ramverk (till exempel WPF) måste koden kompileras. I andra ramverk kan x:Code
användning i allmänhet inte tillåtas.
För ramverk som tillåter hanterat x:Code
innehåll bestäms rätt språkkompilerare som ska användas för x:Code
innehåll av inställningar och mål för det innehållande projektet som används för att kompilera programmet.
WPF-användningsanteckningar
Kod som deklareras inom x:Code
för WPF har flera viktiga begränsningar:
x:Code
-direktivelementet måste vara ett omedelbart underordnat element i rotelementet i XAML-produktionen.x:Class Directive måste anges på det överordnade rotelementet.
Koden som placeras i
x:Code
behandlas av kompilering för att ligga inom omfånget för den partiella klass som redan skapas för den XAML-sidan. Därför måste all kod som du definierar vara medlemmar eller variabler i den partiella klassen.Du kan inte definiera ytterligare klasser, förutom genom att kapsla en klass i den partiella klassen (kapsling tillåts, men det är inte vanligt eftersom kapslade klasser inte kan refereras i XAML). Andra CLR-namnområden än det namnområde som används för den befintliga partiella klassen kan inte definieras eller läggas till.
Referenser till kodentiteter utanför clr-namnområdet för partiell klass måste vara fullständigt kvalificerade. Om medlemmar som deklareras åsidosätts till de partiella klassöversidosättningsbara medlemmarna måste detta anges med det språkspecifika åsidosättningsnyckelordet. Om medlemmar som deklareras i
x:Code
omfångskonflikt med medlemmar i den partiella klassen som skapats från XAML, på ett sådant sätt att kompilatorn rapporterar konflikten, kan XAML-filen inte kompileras eller läsas in.
Se även
.NET Desktop feedback