Atributo x:Class

Actualización: noviembre 2007

Configura la compilación XAML para unir clases parciales entre el marcado y el código subyacente. La clase parcial de código se define en un archivo de código independiente en un lenguaje Common Language Specification (CLS), mientras que la clase parcial de marcado se crea mediante generación de código durante la compilación de XAML.

Uso de atributos XAML

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

Valores XAML

namespace

Opcional. Especifica un espacio de nombres CLR que contiene la clase parcial identificada por classname. Si se especifica namespace, se incluye un punto (.) para separar namespace y namespace.

classname

Necesario. Especifica el nombre CLR de la clase parcial que conecta el XAML cargado y el código subyacente de ese XAML. 

Comentarios

x:Class se puede declarar como atributo para cualquier elemento que sea la raíz de un árbol de elementos Lenguaje de marcado de aplicaciones extensible (XAML) y que se genere (donde Lenguaje de marcado de aplicaciones extensible (XAML) esté incluido en un proyecto con la acción de compilación Page), o bien para el objeto Application raíz de la definición de una aplicación generada. Si se declara x:Class en cualquier elemento que no sea una raíz de página o raíz de aplicación, y en cualquier circunstancia para un archivo Lenguaje de marcado de aplicaciones extensible (XAML) que no esté compilado, se producirá un error en tiempo de compilación.

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

x:Class es opcional en el sentido de que es totalmente válido que una página XAML no tenga ningún código subyacente; sin embargo, si la página declara valores de atributos de control de eventos, o crea instancias de elementos personalizados cuyas clases definidoras se encuentran en la clase de código subyacente, entonces es obligatorio proporcionar la referencia de x:Class (o x:Subclass) a la clase adecuada para el código subyacente. 

El valor del atributo x:Class debe ser una cadena que especifica el nombre completo de una clase. En las aplicaciones simples, se puede omitir la información de espacio de nombres CLR siempre que el código subyacente también esté estructurado así (la definición se inicia en el nivel de clases). El archivo de código subyacente para una definición de página o de aplicación debe estar dentro de un archivo de código incluido como parte del proyecto que genera una aplicación compilada. Debe respetar las reglas de nombres de las clases CLR; para obtener detalles, vea los detalles, vea Type Definitions. De manera predeterminada, la clase de código subyacente debe ser public, pero se puede definir con otro nivel de acceso mediante Atributo x:ClassModifier.

Observe que este significado del valor de atributo x:Class es específico de la implementación de XAML en WPF. Puede que en implementaciones de XAML fuera de WPF no se utilice código administrado y, por consiguiente, podrían utilizar una fórmula de resolución de clases diferente.

Vea también

Conceptos

XAML y clases personalizadas

Código subyacente y XAML

Referencia

x:Subclass (atributo)

Atributo x:ClassModifier