Diretiva x:Class

Configura a compilação de marcaçã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 em uma linguagem CLS (Common Language Specification), enquanto a classe parcial de marcação é normalmente criada pela geração de código durante a compilação XAML.

Uso do Atributo XAML

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

Valores XAML

Valor Descrição
namespace Opcional. Especifica um namespace CLR que contém a classe parcial identificada por classname. Se namespace for especificado, um ponto (.) separa namespace e classname. Consulte Observações.
classname Obrigatório. Especifica o nome CLR da classe parcial que conecta o XAML carregado e seu code-behind para esse XAML.

Dependências

x:Class só pode ser especificado no elemento raiz de uma produção XAML. x:Class é inválido em qualquer objeto que tenha um pai na produção XAML. Para obter mais informações, consulte [MS-XAML] Seção 6.3.1.6.

Comentários

O namespace valor pode conter pontos adicionais para organizar namespaces relacionados em hierarquias de nome, que é uma técnica comum na programação .NET. Somente o último ponto em uma cadeia de caracteres de x:Class valores é interpretado para separar namespace e classname. A classe que é usada como x:Class não pode ser uma classe aninhada. Classes aninhadas não são permitidas porque determinar o significado de pontos para x:Class cadeias de caracteres é ambíguo se classes aninhadas forem permitidas.

Em modelos de programação existentes que usam x:Class, x:Class é opcional no sentido de que é totalmente válido ter uma página XAML que não tenha code-behind. No entanto, esse recurso interage com as ações de compilação implementadas por estruturas que usam XAML. x:Class A capacidade também é influenciada pelas funções que várias classificações de conteúdo especificado por XAML têm em um modelo de aplicativo e nas ações de compilação correspondentes. Se seu XAML declarar valores de atributo de manipulação de eventos ou instanciar elementos personalizados onde as classes definidoras estão na classe code-behind, você precisará fornecer a referência de diretiva (ou x:Subclass) para a x:Class classe apropriada para code-behind.

O valor da diretiva deve ser uma cadeia de x:Class caracteres que especifica o nome totalmente qualificado de uma classe, mas sem nenhuma informação de assembly (equivalente ao Type.FullName). Para aplicativos simples, você pode omitir informações de namespace CLR se o code-behind também estiver estruturado dessa maneira (a definição de código começa no nível de classe).

O arquivo code-behind para uma definição de página ou aplicativo deve estar dentro de um arquivo de código incluído como parte do projeto que produz um aplicativo compilado e envolve compilação de marcação. Você deve seguir as regras de nome para classes CLR. Para obter mais informações, consulte Framework Design Guidelines. Por padrão, a classe code-behind deve ser public; no entanto, você pode defini-la em um nível de acesso diferente usando a diretiva x:ClassModifier.

Essa interpretação do x:Class atributo se aplica somente a uma implementação XAML baseada em CLR, em particular aos Serviços XAML do .NET. Outras implementações XAML que não são baseadas em CLR e que não usam os Serviços XAML do .NET podem usar uma fórmula de resolução diferente para conectar marcação XAML e fazer backup de código de tempo de execução. Para obter mais informações sobre interpretações mais gerais do x:Class, consulte [MS-XAML].

Em um determinado nível de arquitetura, o significado de é indefinido nos Serviços XAML do x:Class .NET. Isso ocorre porque os Serviços XAML do .NET não especificam o modelo de programação pelo qual a marcação XAML e o código de backup estão conectados. Usos adicionais da x:Class diretiva podem ser implementados por estruturas específicas que usam modelos de programação ou modelos de aplicativo para definir como conectar marcação XAML e code-behind baseado em CLR. Cada estrutura pode ter suas próprias ações de compilação que habilitam alguns dos comportamentos ou componentes específicos que devem ser incluídos no ambiente de compilação. Dentro de uma estrutura, as ações de compilação também podem variar dependendo da linguagem CLR específica usada para o code-behind.

x:Class no modelo de programação WPF

Em aplicativos WPF e no modelo de aplicativo WPF, x:Class pode ser declarado como um atributo para qualquer elemento que seja a raiz de um arquivo XAML e esteja sendo compilado (onde o XAML está incluído em um projeto de aplicativo WPF com Page ação de compilação) ou para a Application raiz na definição de aplicativo de um aplicativo WPF compilado. Declarar x:Class em um elemento diferente de uma raiz de página ou raiz de aplicativo, ou em um arquivo XAML WPF que não é compilado, causa um erro em tempo de compilação no compilador XAML do .NET Framework 3.0 e .NET Framework 3.5 WPF. Para obter informações sobre outros aspectos da x:Class manipulação no WPF, consulte Code-Behind e XAML no WPF.

x:Class para Windows Workflow Foundation

Para o Windows Workflow Foundation, x:Class nomeia a classe de uma atividade personalizada composta inteiramente em XAML ou nomeia a classe parcial da página XAML para um designer de atividade com code-behind.

Notas de uso do Silverlight

x:Class para o Silverlight é documentado separadamente. Para obter mais informações, consulte Recursos de linguagem do namespace XAML (x:) (Silverlight).

Confira também