XmlnsPrefixAttribute Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Identifica um prefixo recomendado para associar a um namespace XAML para uso em XAML, ao escrever elementos e atributos num ficheiro XAML (serialização) ou ao interagir com um ambiente de design que tenha funcionalidades de edição 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
- Atributos
Observações
Processadores ou frameworks XAML que incorporem XAML, ou qualquer processo que realize serialização XAML, devem geralmente respeitar o prefixo recomendado. O prefixo pode ser necessário em qualquer caso em que os prefixos de mapeamentos específicos na fonte XAML original não sejam de alguma forma preservados no grafo de objetos de execução ou armazenados por uma framework ou tecnologia. Um framework pode ter preferências específicas sobre como serializar os seus próprios tipos que ignoram o prefixo recomendado das suas próprias assembleias; isto pode ser feito para promover consistentemente um namespace XAML predefinido. No entanto, tal framework deve ainda fornecer prefixos recomendados para possíveis usos de terceiros e ferramentas dos seus tipos XAML. Veja abaixo a secção "Boas Práticas para Suporte ao Designer XAML ou Serialização Geral".
Uma recomendação geral para prefixos é usar strings curtas, porque o prefixo é tipicamente aplicado a todos os elementos serializados que provêm do namespace XAML. O comprimento da cadeia de prefixos pode ter um efeito notório no tamanho da saída XAML serializada.
Se um prefixo solicitado já estiver em uso por outro identificador de espaço de nomes XAML previamente encontrado/serializado, o comportamento não está especificado (o comportamento depende de cada implementação individual de processador XAML).
Na maioria dos casos, só se candidata XmlnsPrefixAttribute se também tiver aplicado pelo menos uma XmlnsDefinitionAttribute na assembly para esse mesmo namespace XAML.
Em versões anteriores do .NET Framework, esta classe existia no conjunto específico do WPF WindowsBase. Na .NET Framework 4, XmlnsPrefixAttribute está na assembly System.Xaml. Para mais informações, veja Tipos Migrados de WPF para System.Xaml.
Melhores Práticas para Suporte ao Designer XAML ou Serialização Geral
Mesmo que pretenda que o espaço de nomes XAML associado seja o espaço de nomes XAML padrão na maioria dos casos de uso para a sua framework ou biblioteca, deve ainda assim especificar uma string não vazia como prefixo recomendado para um namespace XAML. A informação padrão do espaço de nomes XAML é transportada em ficheiros XAML individuais e fluxos de nós XAML. O espaço de nomes XAML padrão e a forma como é definido numa dada fonte XAML podem ser facilmente perpetuados para serialização por caso sem usar XmlnsPrefixAttribute. No entanto, é XmlnsPrefixAttribute útil para casos em que o autor do XAML optou por mapear o namespace padrão do XAML para outra coisa. Neste cenário, um editor de texto XAML embutido num ambiente de design pode ser usado XmlnsPrefixAttribute como dica para um mapeamento inicial de namespace xmlns XAML. Ou um ambiente de design pode adicionar mapeamentos just-in-time ao XAML de apoio para metáforas de design, como arrastar objetos de uma caixa de ferramentas para uma superfície de design visual. Além disso, é concebível que um designer possa suportar simultaneamente múltiplos frameworks que permitem XAML, e tenha um serializador XAML comum que se baseia nos Serviços XAML do .NET Framework em vez da serialização específica do framework. Especificar a XmlnsPrefixAttribute para estes cenários ajuda a tornar o uso de XAML para os seus tipos mais portátil e robusto se o XAML for trocado entre ferramentas de design, ou se passar por uma viagem de ida e volta entre editores XAML e outros consumidores, como compiladores de marcação ou outra serialização.
Construtores
| Name | Description |
|---|---|
| XmlnsPrefixAttribute(String, String) |
Inicializa uma nova instância da XmlnsPrefixAttribute classe. |
Propriedades
| Name | Description |
|---|---|
| Prefix |
Recebe o prefixo recomendado associado a este atributo. |
| TypeId |
Quando implementado numa classe derivada, obtém um identificador único para esta Attribute. (Herdado de Attribute) |
| XmlNamespace |
Recebe o identificador de espaço de nomes XAML associado a este atributo. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| GetHashCode() |
Devolve o código de hash para esta instância. (Herdado de Attribute) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IsDefaultAttribute() |
Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
| Match(Object) |
Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface. (Herdado de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |