Share via


Marcação de Extensão x:Type

Type fornece o objeto para o tipo fornecido.

Uso de atributos XAML

<object property="{x:Type prefix:typeNameValue}" .../>

Uso do elemento Object em XAML

<object>
  <object.property>
    <x:Type TypeName="prefix:typeNameValue"/>
  </object.property>
</object>

Valores de XAML

prefix

Opcional. Um prefixo que mapeia um namespace de XML não-padrão. Especificando que um prefixo é frequentemente desnecessário, consulte Comentários.

typeNameValue

Obrigatório. Um nome de tipo que possa ser convertido para o namespace de XML padrão corrente ou especificado mapeado prefixo se prefix é fornecida.

Comentários

x:Type é usado para fornecer o valor de atributo para uma propriedade que recebe Type. No entanto, muitas propriedades que levar Type sistema autônomo um valor são capazes de aceitar o nome do tipo diretamente (o valor da cadeia de caracteres do tipo Name); verifique a documentação para a propriedade específica para obter detalhes. x:Type equivale, basicamente, uma extensão de marcação para um typeof() operador em C# ou o GetType operador Microsoft Visual Basic .NET.

Você define o namespace de XML padrão para qualquer determinado XAML  página sistema autônomo um atributo no elemento raiz. Geralmente, o namespace de XML padrão que você usa para Windows Presentation Foundation (WPF) programação é a WPF espaço para nome. O identificador para esse namespace é https://schemas.microsoft.com/winfx/2006/xaml/presentation. A grande maioria dos tipos que são destinados ao comuns WPF programação de aplicativo são nesse namespace. Portanto, você geralmente não precisará mapear um prefixo para obter um tipo ao usar x:Type. Talvez seja necessário mapear um prefixo, se você está fazendo referência a um tipo de um assembly personalizado ou para tipos existentes em um WPF assembly, mas estão dentro de um namespace CLR que não foi mapeado para fazer parte dos WPF espaço para nome a partir desse assembly. Para obter informações sobre prefixos, namespaces XML e mapeamento CLR namespaces, consulte Espaços de nomes XAML e mapeamentos de espaços de nomes.

Sintaxe de atributo é a sintaxe mais comum usada com esta extensão de marcação. O símbolo-string fornecido após a string identificadora do x:Type é atribuído como o valor do TypeName da classe de extensão TypeExtension subjacente. O valor desse atributo é o Name do tipo desejado.

x:Type pode ser usada na sintaxe de elemento de objeto. Nesse caso, especificar o valor da propriedade TypeName é necessário para inicializar adequadamente a extensão.

x:Type também pode ser usado em um atributo detalhado que especifica a propriedade TypeName como sendo o par propriedade=valor:

<object property="{x:Type TypeName=typeNameValue}" .../>

O uso detalhado geralmente é útil para as extensões que têm mais de uma propriedade configurável, ou se algumas propriedades são opcionais. Como x:Type tem apenas uma propriedade configurável, que é necessária, esse uso detalhado não é típico.

Na implementação de processador XAML WPF, o tratamento para esta extensão de marcação é definida pela classe TypeExtension.

x:Type é uma extensão de marcação. Extensões de marcação são tipicamente implementadas quando existe um requisito de escapar valores de atributo para serem diferentes de valores literais ou nomes de manipuladores, e o requisito é mais global do que simplesmente colocar conversores de tipo em certos tipos ou propriedades. Todas as extensões de marcação no XAML usam os caracteres { e } em sua sintaxe de atributo, que é a convenção pela qual o processador XAML reconhece que uma extensão de markup precisa processar o atributo. Para obter mais informações, consulte Extensão de Marcação e XAML.

Consulte também

Conceitos

Styling and Templating

XAML Overview

Extensão de Marcação e XAML

Referência

Style