Compartilhar via


Atributo x:Class

Configura a compilação XAML para unir classes parciais entre marcação e code-behind. A classe parcial de código é definida em um arquivo de código separado e a classe parcial de marcação é criada pela geração de código durante a compilação XAML.

Uso do atributo XAML

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

Valores XAML

Prazo Description
espaço para nome Optional. Especifica um namespace que contém a classe parcial identificada pelo nome da classe. Se o namespace for especificado, um ponto (.) separará o namespace e o nome da classe. Se o namespace for omitido, o nome da classe será considerado sem namespace.
nome da classe Obrigatório Especifica o nome da classe parcial que conecta o XAML carregado e seu code-behind para esse XAML.

Observações

x:Class pode ser declarado como um atributo para qualquer elemento que seja a raiz de uma árvore de arquivo/objeto XAML e esteja sendo compilado por ações de compilação, ou para a raiz do aplicativo na definição de aplicativo de um aplicativo compilado. Declarar x:Class em qualquer elemento que não seja um nó raiz e, sob qualquer circunstância, para um arquivo XAML que não é compilado com a ação de build Page, resulta em um erro de tempo de compilação.

A classe usada como x:Class não pode ser uma classe aninhada.

O valor do atributo x:Class deve ser uma cadeia de caracteres que especifica o nome totalmente qualificado de uma classe. Você pode omitir as informações de namespace, desde que o arquivo code-behind também esteja estruturado dessa forma (ou seja, sua definição de classe começa no nível da classe). O arquivo code-behind de uma página ou definição de aplicativo deve estar dentro de um arquivo de código incluído como parte do projeto. A classe code-behind deve ser pública. A classe code-behind deve ser parcial.

Regras de linguagem CLR

Embora seu arquivo code-behind possa ser um arquivo C++, há certas convenções que ainda seguem o formulário de linguagem CLR, de modo que não haja diferença na sintaxe XAML. Em particular, o separador entre os componentes namespace e classname de qualquer valor x:Class é sempre um ponto ("."), embora o separador entre namespace e nome de classe no arquivo de código C++ associado ao XAML seja "::". Se você declarar namespaces aninhados em C++, o separador entre as cadeias de caracteres de namespace aninhadas sucessivas também deverá ser "." em vez de "::" quando você especificar a parte do namespace do valor x:Class .