Atributo x:Classx:Class attribute

Configura a compilação XAML para associar classes parciais entre marcação e code-behind.Configures XAML compilation to join partial classes between markup and code-behind. A classe parcial de código é definida em um arquivo de código separado. Já a classe parcial de marcação é criada pela geração do código durante a compilação XAML.The code partial class is defined in a separate code file, and the markup partial class is created by code generation during XAML compilation.

Uso do atributo XAMLXAML attribute usage

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

Valores XAMLXAML values

TermoTerm DescriçãoDescription
namespacenamespace Opcional.Optional. Especifica um namespace que contém a classe parcial identificada por classname.Specifies a namespace that contains the partial class identified by classname. Se namespace for especificado, um ponto (.) separa namespace e classname.If namespace is specified, a dot (.) separates namespace and classname. Se namespace é omitido, considera-se que classname não tem namespace.If namespace is omitted, classname is assumed to have no namespace.
classnameclassname Obrigatórios.Required. Especifica o nome da classe parcial que conecta o XAML carregado e o code-behind desse XAML.Specifies the name of the partial class that connects the loaded XAML and your code-behind for that XAML.  

ComentáriosRemarks

x:Class pode ser declarado como um atributo para qualquer elemento que seja raiz de um arquivo/árvore de objetos XAML e esteja sendo compilado por ações de compilação, ou para a raiz Application na definição de um aplicativo compilado.x:Class can be declared as an attribute for any element that is the root of a XAML file/object tree and is being compiled by build actions, or for the Application root in the application definition of a compiled application. 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.Declaring x:Class on any element other than a root node, and under any circumstances for a XAML file that is not compiled with the Page build action, results in a compile-time error.

A classe usada como x:Class não pode ser aninhada.The class used as x:Class cannot be a nested class.

O valor do atributo x:Class deve ser uma cadeia de caracteres que especifica o nome totalmente qualificado de uma classe.The value of the x:Class attribute must be a string that specifies the fully qualified name of a class. Você poderá omitir informações de namespace contanto que o code-behind também seja estruturado desse modo (sua definição de classe começa no nível de classe).You can omit namespace information so long as that is how the code-behind is structured also (your class definition starts at the class level). O arquivo code-behind de uma definição de página ou de aplicativo deve estar em um arquivo de código incluído como parte do projeto.The code-behind file for a page or application definition must be within a code file that is included as part of the project. A classe code-behind deve ser pública.The code-behind class must be public. A classe de code-behind deve ser parcial.The code-behind class must be partial.

Regras da linguagem CLRCLR language rules

Embora seu arquivo code-behind possa ser um arquivo em C++, há certas convenções que ainda seguem a forma de linguagem CLR, para que não haja qualquer diferença na sintaxe XAML.Although your code-behind file can be a C++ file, there are certain conventions that still follow the CLR language form, so that there is no difference in the XAML syntax. Em particular, o separador entre os componentes namespace e classname de um valor x:Class é sempre um ponto ("."), mesmo que o separador entre namespace e classname do arquivo de código C++ associado ao XAML seja "::".In particular, the separator between the namespace and classname components of any x:Class value is always a dot ("."), even though the separator between namespace and classname in the C++ code file associated with the XAML is "::". 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.If you declare nested namespaces in C++, then the separator between the successive nested namespace strings should also be "." rather than "::" when you specify the namespace part of the x:Class value.