Condividi tramite


Tipo XAML intrinseco x:Code

Consente il posizionamento del codice all'interno di un ambiente di produzione XAML. Tale codice può essere compilato da qualsiasi implementazione del processore XAML che compila XAML o lasciata nell'ambiente di produzione XAML per usi successivi, ad esempio l'interpretazione da parte di un runtime.

Utilizzo dell'elemento oggetto XAML

<x:Code>
   // code instructions, usually enclosed by CDATA...
</x:Code>

Osservazioni

Il codice all'interno dell'elemento di direttiva XAML x:Code viene ancora interpretato all'interno dello spazio dei nomi XML generale e degli spazi dei nomi XAML forniti. Di conseguenza, è in genere necessario racchiudere il codice usato per x:Code all'interno di un segmento di CDATA.

x:Code non è consentito per tutti i possibili meccanismi di distribuzione di una produzione XAML. In framework specifici (ad esempio WPF) il codice deve essere compilato. In altri framework, x:Code'utilizzo potrebbe essere in genere non consentito.

Per i framework che consentono il contenuto gestito x:Code, il compilatore del linguaggio corretto da usare per x:Code contenuto è determinato dalle impostazioni e dalle destinazioni del progetto contenitore usato per compilare l'applicazione.

Note sull'utilizzo di WPF

Il codice dichiarato all'interno di x:Code per WPF presenta diverse limitazioni rilevanti:

  • L'elemento direttiva x:Code deve essere un elemento figlio immediato dell'elemento radice dell'ambiente di produzione XAML.

  • direttiva x:Class deve essere fornita nell'elemento radice padre.

  • Il codice inserito all'interno di x:Code verrà trattato dalla compilazione in modo che sia compreso nell'ambito della classe parziale già creata per tale pagina XAML. Di conseguenza, tutto il codice definito deve essere membro o variabili di tale classe parziale.

  • Non è possibile definire classi aggiuntive, diverse dall'annidamento di una classe all'interno della classe parziale (l'annidamento è consentito, ma non è tipico perché non è possibile fare riferimento alle classi annidate in XAML). Gli spazi dei nomi CLR diversi dallo spazio dei nomi usato per la classe parziale esistente non possono essere definiti o aggiunti a .

  • I riferimenti alle entità di codice all'esterno dello spazio dei nomi CLR parziale della classe devono essere tutti completi. Se i membri dichiarati vengono sottoposti a override ai membri sovrascrivibili della classe parziale, è necessario specificarlo con la parola chiave override specifica del linguaggio. Se i membri dichiarati in x:Code ambito sono in conflitto con i membri della classe parziale creata da XAML, in modo che il compilatore segnala il conflitto, il file XAML non può compilare o caricare.

Vedere anche