Compartir a través de


Atributo x:Class

Configura la compilación XAML para unir clases parciales entre marcado y código subyacente. La clase parcial de código se define en un archivo de código independiente y la clase parcial de marcado se crea mediante la generación de código durante la compilación XAML.

Uso de atributos XAML

<object x:Class="namespace.classname"...>
  ...
</object>

Valores XAML

Término Description
namespace Optional. Especifica un espacio de nombres que contiene la clase parcial identificada por classname. Si se especifica un espacio de nombres , un punto (.) separa el espacio de nombres y el nombre de clase. Si se omite el espacio de nombres , se supone que classname no tiene ningún espacio de nombres.
classname Obligatorio. Especifica el nombre de la clase parcial que conecta el XAML cargado y el código subyacente para ese XAML.

Observaciones

x:Class se puede declarar como un atributo para cualquier elemento que sea la raíz de un árbol de archivos/objetos XAML y se compile mediante acciones de compilación o para la raíz de la aplicación en la definición de aplicación de una aplicación compilada. Declarar x:Class en cualquier elemento que no sea un nodo raíz y, en cualquier circunstancia, para un archivo XAML que no esté compilado con la acción de compilación de página, se producirá un error en tiempo de compilación.

La clase usada como x:Class no puede ser una clase anidada.

El valor del atributo x:Class debe ser una cadena que especifique el nombre completo de una clase. Puede omitir la información del espacio de nombres siempre que así sea cómo se estructura el código subyacente también (la definición de clase comienza en el nivel de clase). El archivo de código subyacente de una definición de página o aplicación debe estar dentro de un archivo de código que se incluye como parte del proyecto. La clase de código subyacente debe ser pública. La clase de código subyacente debe ser parcial.

Reglas de lenguaje CLR

Aunque el archivo de código subyacente puede ser un archivo de C++, hay ciertas convenciones que siguen el formulario de lenguaje CLR, por lo que no hay ninguna diferencia en la sintaxis XAML. En concreto, el separador entre los componentes del espacio de nombres y el nombre de clase de cualquier valor x:Class siempre es un punto ("."), aunque el separador entre el espacio de nombres y el nombre de clase en el archivo de código de C++ asociado al XAML es "::". Si declara espacios de nombres que están anidados en C++, el separador entre las cadenas de espacios de nombres anidadas sucesivas también debe ser ".", en lugar de "::", al especificar la parte del espacio de nombres del valor x:Class.