Condividi tramite


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.