Atributo x:Class

Configura a compilação XAML para associar 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 o code-behind desse 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. A declaração x:Class em qualquer elemento que não seja um nó raiz e, sob qualquer circunstância, para um arquivo XAML não compilado com a ação de compilação Page gerará 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 "::". Caso você declare namespaces aninhados em C++, o separador entre as cadeias de caracteres de namespaces aninhados sucessivos também deve ser "." em vez de "::" quando especifica a parte namespace do valor x:Class.