Attributo x:Class
Configura la compilazione XAML per unire classi parziali tra markup e code-behind. La classe parziale del codice viene definita in un file di codice separato e la classe parziale di markup viene creata dalla generazione del codice durante la compilazione XAML.
Utilizzo attributo XAML
<object x:Class="namespace.classname"...>
...
</object>
Valori XAML
Termine | Descrizione |
---|---|
namespace | Facoltativo. Specifica uno spazio dei nomi contenente la classe parziale identificata da nome della classe. Se spazio dei nomi viene specificato, un punto (.) separa spazio dei nomi e nome della classe. Se spazio dei nomi viene omesso, si presuppone che nome della classe non abbia spazio dei nomi. |
nomeclasse | Obbligatorio. Specifica il nome della classe parziale che connette il codice XAML caricato e il code-behind per quel codice XAML. |
Osservazioni:
X:Class può essere dichiarato come attributo per qualsiasi elemento che è la radice di un albero di file/oggetto XAML e viene compilato da azioni di compilazione o per la radice dell'applicazione nella definizione dell'applicazione di un'applicazione compilata. Dichiarando x:Class in qualsiasi elemento diverso da un nodo radice e in qualsiasi circostanza per un file XAML non compilato con l'azione di compilazione Page, viene generato un errore in fase di compilazione.
La classe utilizzata come x:Class non può essere una classe nidificata.
Il valore dell'attributo x:Class deve essere una stringa che specifica il nome completo di una classe. È possibile omettere le informazioni sullo spazio dei nomi purché sia strutturato anche il code-behind (la definizione della classe inizia a livello di classe). Il file code-behind per una pagina o una definizione dell'applicazione deve trovarsi all'interno di un file di codice incluso come parte del progetto. La classe code-behind deve essere pubblica. La classe code-behind deve essere parziale.
Regole del linguaggio CLR
Anche se il file code-behind può essere un file C++, esistono alcune convenzioni che seguono ancora il modulo del linguaggio CLR, in modo che non vi sia alcuna differenza nella sintassi XAML. In particolare, il separatore tra i componenti dello spazio dei nomi e classname di un valore x:Class è sempre un punto ("."), anche se il separatore tra spazio dei nomi e il nome della classe nel file di codice C++ associato a XAML è "::". Se si dichiarano spazi dei nomi annidati in C++, anche il separatore tra le stringhe dello spazio dei nomi nidificate successive deve essere "." anziché "::" quando si specifica la parte dello spazio dei nomi del valore x:Class.