Partilhar via


XmlnsPrefixAttribute Classe

Definição

Identifica um prefixo recomendado a ser associado a um namespace de XAML para uso em XAML, ao escrever elementos e atributos em um arquivo XAML (serialização) ou ao interagir com um ambiente de design que tenha recursos de edição de XAML.

public ref class XmlnsPrefixAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)]
public sealed class XmlnsPrefixAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)>]
type XmlnsPrefixAttribute = class
    inherit Attribute
Public NotInheritable Class XmlnsPrefixAttribute
Inherits Attribute
Herança
XmlnsPrefixAttribute
Atributos

Comentários

Processadores XAML ou estruturas que incorporam XAML ou qualquer processo que execute a serialização XAML, geralmente devem respeitar o prefixo recomendado. O prefixo pode ser necessário em qualquer caso em que prefixos de mapeamentos específicos na origem XAML original não sejam de alguma forma preservados no grafo de objeto de runtime ou armazenados por uma estrutura ou tecnologia. Uma estrutura pode ter preferências específicas de como serializar seus próprios tipos que ignoram o prefixo recomendado de seus próprios assemblies; isso pode ser feito para promover consistentemente um namespace XAML padrão. No entanto, essa estrutura ainda deve fornecer prefixos recomendados para possíveis usos de ferramentas e de terceiros de seus tipos XAML. Confira a seção "Prática recomendada para suporte Designer XAML ou serialização geral" abaixo.

Uma recomendação geral para prefixos é usar cadeias de caracteres curtas, pois o prefixo normalmente é aplicado a todos os elementos serializados provenientes do namespace XAML. O comprimento da cadeia de caracteres de prefixo pode ter um efeito perceptível no tamanho da saída XAML serializada.

Se um prefixo que está sendo solicitado já estiver sendo usado por outro identificador de namespace XAML encontrado/serializado anteriormente, o comportamento não será especificado (o comportamento cabe a cada implementação individual do processador XAML).

Na maioria dos casos, você aplicará XmlnsPrefixAttribute somente se também tiver aplicado pelo menos um XmlnsDefinitionAttribute no assembly para o mesmo namespace XAML.

Em versões anteriores do .NET Framework, essa classe existia no assembly específico do WPF WindowsBase. No .NET Framework 4, XmlnsPrefixAttribute está no assembly System.Xaml. Para obter mais informações, consulte Tipos migrados do WPF para o System.Xaml.

Prática recomendada para suporte de Designer XAML ou serialização geral

Mesmo que você pretenda que o namespace XAML associado seja o namespace XAML padrão na maioria dos casos de uso para sua estrutura ou biblioteca, você ainda deve especificar uma cadeia de caracteres não vazia como o prefixo recomendado para um namespace XAML. As informações padrão do namespace XAML são carregadas em arquivos XAML individuais e fluxos de nós XAML. O namespace XAML padrão e como ele é definido em uma determinada fonte XAML podem ser facilmente perpetuados para serialização por caso sem usar XmlnsPrefixAttribute. No entanto, o XmlnsPrefixAttribute é útil para casos em que o autor XAML optou por mapear o namespace XAML padrão para outra coisa. Nesse cenário, um editor de texto XAML inserido em um ambiente de design pode usar XmlnsPrefixAttribute como uma dica para um mapeamento de namespace xmlns XAML inicial. Ou um ambiente de design pode adicionar mapeamentos just-in-time ao XAML de suporte para metáforas de design, como arrastar objetos para fora de uma caixa de ferramentas e para uma superfície de design visual. Além disso, é concebível que um designer possa dar suporte simultâneo a várias estruturas habilitadoras de XAML e tem um serializador XAML comum que depende de .NET Framework Serviços XAML em vez de serialização específica da estrutura. Especificar um XmlnsPrefixAttribute para esses cenários ajuda a tornar o uso de XAML para seus tipos mais portátil e robusto se o XAML for trocado entre ferramentas de design ou passar por uma viagem de ida e volta entre editores XAML e outros consumidores, como compiladores de marcação ou outra serialização.

Construtores

XmlnsPrefixAttribute(String, String)

Inicializa uma nova instância da classe XmlnsPrefixAttribute.

Propriedades

Prefix

Obtém o prefixo recomendado associado a este atributo.

TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.

(Herdado de Attribute)
XmlNamespace

Obtém o identificador do namespace de XAML associado a esse atributo.

Métodos

Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Retorna o código hash para a instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a

Confira também