Dela via


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