XAML-Related CLR Attributes for Custom Types and Libraries
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

XAML-Related CLR Attributes for Custom Types and Libraries

.NET Framework (current version)
 

Este tópico descreve os atributos comuns de runtime (CLR) de idioma definidas pelo.NET Framework serviços XAML.Ele também descreve outros atributos CLR que são definidos na.NET Framework que tiver um cenário relacionados ao XAML para o aplicativo para montagens ou tipos.Atribuição de assemblies, tipos ou membros com esses atributos do CLR fornece informações de sistema do tipo XAML relacionadas aos tipos de.São fornecidas informações para qualquer consumidor XAML que usa.NET Framework XAML Services para o processamento de fluxo XAML nó diretamente ou através dos leitores XAML dedicados e gravadores XAML.

Usando os atributos CLR implica que você estiver usando o CLR geral para definir seus tipos, caso contrário, esses atributos não estão disponíveis.Se você usar o CLR para definir o tipo de backup, o contexto de esquema XAML padrão usado pelo.Gravadores de XAML XAML de serviços do NET Framework podem ler a atribuição de CLR através de reflexão contra fazendo assemblies.

As seções a seguir descrevem os atributos de XAML que podem ser aplicadas para tipos personalizados ou membros personalizados.Cada atributo CLR comunica as informações relevantes para um sistema de tipos XAML.No caminho de carga, as informações de atribuído em grande parte ou ajudam o leitor XAML formam um fluxo de nó XAML válido ou ajuda o gravador XAML produzir um gráfico de objeto válido.Na salvar caminho, as informações de atribuída uma ajuda o leitor XAML formam um fluxo de nó XAML válido reconstitui informações do sistema de tipo XAML; ou ele declara dicas de serialização ou requisitos para o gravador XAML ou outros consumidores XAML.

Documentação de referência: AmbientAttribute

Aplica-se a: classe, propriedade, ou get membros de acessador que oferecem suporte a propriedades anexadas.

Argumentos: nenhum

AmbientAttributeindica que a propriedade, ou todas as propriedades que levam o tipo atribuído em grande parte, devem ser interpretadas sob o conceito de propriedade de ambiente em XAML.O conceito de temperatura ambiente está relacionado como processadores XAML determinar o tipo de proprietários de membros.Uma propriedade de ambiente é uma propriedade onde o valor é esperado para estar disponível no contexto de analisador ao criar um gráfico de objeto, mas onde a pesquisa de membro de tipo típica está suspensa para o nó XAML imediato, definir o que está sendo criado.

O conceito de temperatura ambiente pode ser aplicado a membros para conexão, o que não são representados como propriedades em termos de como define a atribuição do CLR AttributeTargets.O uso de atribuição do método deve ser aplicado somente no caso de um get acessador que ofereça suporte ao uso para conexão para XAML.

Documentação de referência: ConstructorArgumentAttribute

Aplica-se a: classe

Argumentos: uma seqüência de caracteres que especifica o nome da propriedade que corresponde ao argumento de construtor único.

ConstructorArgumentAttributeEspecifica que um objeto pode ser inicializado usando uma sintaxe do construtor não-padrão e que uma propriedade do nome especificado fornece informações de construção.Essa informação é principalmente para a serialização de XAML.Para obter mais informações, consulte ConstructorArgumentAttribute.

Documentação de referência: ContentPropertyAttribute

Aplica-se a: classe

Argumentos: uma seqüência de caracteres que especifica o nome de um membro do tipo atribuído.

ContentPropertyAttributeindica que a propriedade quando nomeados pelo argumento deve servir como a propriedade content de XAML para esse tipo.A definição da propriedade content de XAML herda a todos os tipos derivados que pode ser atribuídos para a definição de tipo.Você pode substituir a definição de um tipo específico de derivada aplicando ContentPropertyAttribute em específicos do tipo derivado.

Para a propriedade que serve como a propriedade content de XAML, a marcação para a propriedade de elemento de propriedade pode ser omitido no uso do XAML.Normalmente, você pode designar propriedades de conteúdo XAML que promovem uma marcação de XAML simplificada para os modelos de conteúdo e a contenção.Porque somente um membro pode ser designado como a propriedade content de XAML, às vezes têm opções de design para tornar relativas a quais de recipiente de várias propriedades de um tipo devem ser designadas como a propriedade de conteúdo XAML.Propriedades do recipiente devem ser usadas com elementos de propriedade explícita.

No fluxo de nó de XAML, propriedades de conteúdo XAML ainda produzem StartMember e EndMember nós, usando o nome da propriedade para o XamlMember.Para determinar se um membro é a propriedade content de XAML, examine o XamlType o valor da StartObject posicionar e obtenha o valor de ContentProperty.

Documentação de referência: ContentWrapperAttribute

Aplica-se a: classe, especificamente os tipos de coleção.

Argumentos: a Type que especifica o tipo a ser usado como o tipo de conteúdo de wrapper para conteúdo externo.

ContentWrapperAttributeEspecifica um ou mais tipos no tipo de coleção associada que será usado para encapsular conteúdo externo.Conteúdo externo se refere a casos em que as restrições do sistema de tipo no tipo da propriedade content não captura todos os casos possíveis de conteúdo que dará suporte a utilização XAML para o tipo de propriedade.Por exemplo, o XAML suporte para o conteúdo de um determinado tipo pode oferecer suporte a seqüências de caracteres em um genérico com rigidez de tipos Collection<T>.Conteúdo wrappers são úteis para migrar preexistente convenções de marcação, na concepção do XAML dos valores pode ser atribuídos para coleções, como, por exemplo, modelos de conteúdo relacionados a texto migrando.

Para especificar mais de um tipo de conteúdo do wrapper, aplica o atributo várias vezes.

Documentação de referência: DependsOnAttribute

Aplica-se a: propriedade

Argumentos: uma seqüência de caracteres que especifica o nome de outro membro do tipo atribuído.

DependsOnAttributeindica que a propriedade atribuído em grande parte depende do valor da propriedade de outro.Aplicar esse atributo para uma definição de propriedade garante que as propriedades dependentes são processadas primeiro por escrito do objeto XAML.Usos de DependsOnAttribute especificar os casos excepcionais de propriedades em tipos de análise de um pedido específico onde deve ser seguido para a criação de objeto válido.

Você pode aplicar várias DependsOnAttribute ocorrências para uma definição de propriedade.

Documentação de referência: MarkupExtensionReturnTypeAttribute

Aplica-se a: classe, que deve ser um MarkupExtension tipo derivado.

Argumentos: a Type que especifica o tipo mais preciso esperar como o ProvideValue resultado do atribuído em grande parte MarkupExtension.

Para obter mais informações, consulte Markup Extensions for XAML Overview.

Documentação de referência: NameScopePropertyAttribute

Aplica-se a: classe

Argumentos: oferece suporte a dois formulários de atribuição:

  • Uma seqüência de caracteres que especifica o nome de uma propriedade no tipo atribuído.

  • Uma seqüência de caracteres que especifica o nome de uma propriedade e um Type para o tipo que define a propriedade nomeada.Este formulário é para especificar um membro de anexável como a propriedade namescope do XAML.

NameScopePropertyAttributeEspecifica uma propriedade que fornece o valor de namescope XAML para a classe atribuída.A propriedade namescope do XAML é esperada para fazer referência a um objeto que implementa INameScope e mantém o namescope real do XAML, seu armazenamento e seu comportamento.

Documentação de referência: RuntimeNamePropertyAttribute

Aplica-se a: classe

Argumentos: uma seqüência de caracteres que especifica o nome da propriedade name de tempo de execução do tipo atribuída.

RuntimeNamePropertyAttributerelatórios de uma propriedade do tipo atribuída que mapeia para o XAML x:Name Directive.A propriedade deve ser do tipo String e deve ser de leitura/gravação.

Herda a definição de todos os tipos derivados que pode ser atribuídos para a definição de tipo.Você pode substituir a definição de um tipo específico de derivada aplicando RuntimeNamePropertyAttribute em específicos do tipo derivado.

Documentação de referência: TrimSurroundingWhitespaceAttribute

Aplica-se a: tipos

Argumentos: nenhum.

TrimSurroundingWhitespaceAttributeé aplicada aos tipos específicos que podem ser exibidos como elementos filho dentro do conteúdo significativo de espaço em branco (conteúdo mantido por um conjunto que possui WhitespaceSignificantCollectionAttribute). TrimSurroundingWhitespaceAttributeé principalmente relevante para salvar o caminho, mas está disponível no sistema de tipos XAML no caminho de carga, examinando XamlType.TrimSurroundingWhitespace.Para obter mais informações, consulte Whitespace Processing in XAML.

Documentação de referência: TypeConverterAttribute

Aplica-se a: classe, propriedade, método (o único caso de método válido de XAML é uma get acessador que ofereça suporte a um membro para conexão).

Arguments: The Type of the TypeConverter.

TypeConverterAttributeem um XAML contexto faz referência a um personalizado TypeConverter.Isso TypeConverter fornece o comportamento de conversão de tipo para tipos personalizados, ou membros desse tipo.

Você pode aplicar o TypeConverterAttribute de atributo para seu tipo, fazendo referência a sua implementação de conversor de tipo.Você pode definir conversores de tipo para o XAML em classes, estruturas ou interfaces.Você não precisará fornecer conversão de tipo para enumerações, que a conversão está habilitado nativamente.

O conversor de tipo deve ser capaz de converter uma seqüência que é usado para atributos ou texto de inicialização na marcação, no seu tipo de destino pretendido.Para obter mais informações, consulte TypeConverters e XAML.

Em vez de aplicar a todos os valores de um tipo, um comportamento de conversor de tipo para o XAML pode ser estabelecido em uma propriedade específica.Nesse caso, você aplica TypeConverterAttribute à definição da propriedade (a definição externa, não específicos do get e set definições).

Um comportamento de conversor de tipo para o uso XAML de um membro para conexão personalizado pode ser atribuído, aplicando TypeConverterAttribute para o get acessador de método que suporta o uso XAML.

Semelhante a TypeConverter, TypeConverterAttribute existiam na.NET Framework antes para a existência de XAML e o modelo de conversor de tipo atuou outras finalidades.Para referenciar e usar TypeConverterAttribute, você deve qualificá-lo totalmente ou fornecer um using instrução para System.ComponentModel.Você também deve incluir o conjunto do sistema em seu projeto.

Documentação de referência: UidPropertyAttribute

Aplica-se a: classe

Argumentos: uma seqüência de caracteres que referencia a propriedade relevante por nome.

Indica que aliases de propriedade de uma classe CLR a x:Uid Directive.

Documentação de referência: UsableDuringInitializationAttribute

Aplica-se a: classe

Argumentos: um valor booleano.Se usado para a finalidade pretendida do atributo, isso sempre deve ser especificado como true.

Indica se este tipo é construído de cima para baixo durante a criação de gráfico de objeto do XAML.Este é um conceito avançado, que é provavelmente diretamente relacionado à definição de modelo de programação.Para obter mais informações, consulte UsableDuringInitializationAttribute.

Documentação de referência: ValueSerializerAttribute

Aplica-se a: classe, propriedade, método (o único caso de método válido de XAML é uma get acessador que ofereça suporte a um membro para conexão).

Argumentos: a Type que especifica a classe de suporte do serializador de valor para usar ao serializar todas as propriedades do tipo atribuído em grande parte ou a específica atribuída a propriedade.

ValueSerializerEspecifica uma classe de serialização do valor que requer mais estado e o contexto de um TypeConverter oferece. ValueSerializerpode ser associado um membro para conexão com a aplicação do ValueSerializerAttribute atributo em estática get método do acessador para o membro anexável.A serialização de valor também é aplicável para enumerações, interfaces e estruturas, mas não para delegados.

Documentação de referência: WhitespaceSignificantCollectionAttribute

Aplica-se a: classe, especificamente os tipos de coleção que são esperados para hospedar conteúdo misto, onde o espaço em branco ao redor dos elementos do objeto pode ser significativo para a representação de interface do usuário.

Argumentos: nenhum.

WhitespaceSignificantCollectionAttributeindica que um tipo de coleção deve ser processado como significativa de espaço em branco por um processador XAML, o que influencia a construção de nós de valor do fluxo de nó XAML dentro da coleção.Para obter mais informações, consulte Whitespace Processing in XAML.

Documentação de referência: XamlDeferLoadAttribute

Aplica-se a: classe, a propriedade.

Argumentos: atribuição suporta dois tipos como seqüências de caracteres de formulários ou tipos como Type.Consulte XamlDeferLoadAttribute.

Indica que uma classe ou propriedade tem um uso adiado de carga para XAML (como um comportamento de modelo) e relata a classe que permite que o comportamento adiando e seu tipo de destino/conteúdo.

Documentação de referência: XamlSetMarkupExtensionAttribute

Aplica-se a: classe

Argumentos: nomeia o retorno de chamada.

Indica que uma classe pode usar uma extensão de marcação para fornecer um valor para uma ou mais das suas propriedades e faz referência a um manipulador que um escritor XAML deve chamar antes de executar uma operação de conjunto de extensão de marcação em qualquer propriedade da classe.

Documentação de referência: XamlSetTypeConverterAttribute

Aplica-se a: classe

Argumentos: nomeia o retorno de chamada.

Indica que uma classe pode usar um conversor de tipos para fornecer um valor para uma ou mais das suas propriedades e faz referência a um manipulador que um escritor XAML deve chamar antes de executar uma operação de conjunto de conversor de tipo em qualquer propriedade da classe.

Documentação de referência: XmlLangPropertyAttribute

Aplica-se a: classe

Argumentos: uma seqüência de caracteres que especifica o nome da propriedade alias para xml:lang no tipo atribuído.

XmlLangPropertyAttributerelatórios de uma propriedade do tipo atribuída que mapeia para o XML lang diretiva.A propriedade não é necessariamente do tipo String, mas deve ser pode ser atribuído de uma seqüência de caracteres (Isso pode ser obtido por meio da associação um conversor de tipo com o tipo da propriedade, ou com a propriedade específica).A propriedade deve ser de leitura/gravação.

O cenário para o mapeamento de xml:lang é para que um modelo de objeto de tempo de execução tem acesso às informações de idioma especificado pelo XML sem processamento especificamente com um XMLDOM.

Herda a definição de todos os tipos derivados que pode ser atribuídos para a definição de tipo.Você pode substituir a definição de um tipo específico de derivada aplicando XmlLangPropertyAttribute em específicos do tipo derivado, embora esse seja um cenário incomum.

As seções a seguir descrevem os atributos de XAML que não são aplicados a tipos ou definições de membro, mas em vez disso, são aplicados aos assemblies.Esses atributos são relevantes para o objetivo geral da definição de uma biblioteca de tipos personalizados para usar em XAML.Alguns dos atributos não necessariamente influenciam o fluxo de nó XAML diretamente, mas são passados no fluxo de nó para outros consumidores usar.Os consumidores para obter as informações incluem ambientes de design ou processos de serialização que precisam de informações do namespace XAML e prefixo informações associadas.Um contexto de esquema XAML (incluindo o.Padrão de serviços do NET Framework XAML) também usa essas informações.

Documentação de referência: XmlnsCompatibleWithAttribute

Argumentos:

  • Uma seqüência de caracteres que especifica o identificador do namespace XAML para subsume.

  • Uma seqüência de caracteres que especifica o identificador do namespace XAML que pode subsume namespace XAML do argumento anterior.

XmlnsCompatibleWithAttributeEspecifica que um namespace XAML pode ser incluído em outro namespace XAML.Normalmente, o namespace XAML subsuming é indicado no definidos anteriormente XmlnsDefinitionAttribute.Essa técnica pode ser usado para controle de versão de um vocabulário XAML em uma biblioteca e torná-la compatível com a marcação definida anteriormente contra o vocabulário de uma versão anterior.

Documentação de referência: XmlnsDefinitionAttribute

Argumentos:

  • Uma seqüência de caracteres que especifica o identificador do namespace XAML para definir.

  • Uma seqüência de caracteres que nomeia um namespace CLR.O namespace CLR deve definir tipos públicos no seu assembly, e pelo menos um dos tipos de namespace CLR deve ser destinado ao uso do XAML.

XmlnsDefinitionAttributeEspecifica um mapeamento em uma base por assembly entre um namespace XAML e um namespace CLR, que é usado para resolução de tipo por um gravador de objeto XAML ou contexto de esquema XAML.

Mais de um XmlnsDefinitionAttribute pode ser aplicado a um assembly.Isso pode ser feito para qualquer combinação dos seguintes motivos:

  • O design da biblioteca contém vários namespaces CLR para organização lógica de acesso da API de tempo de execução; No entanto, você deseja que todos os tipos daqueles espaços para nome a ser utilizável de XAML referenciando o mesmo namespace XAML.Nesse caso, você aplica várias XmlnsDefinitionAttribute atributos usando o mesmo XmlNamespace , mas diferente do valor ClrNamespace valores.Isso é especialmente útil se você estiver definindo mapeamentos de namespace XAML que seu aplicativo ou framework pretende ser namespace XAML padrão no uso comum.

  • O design da biblioteca contém vários namespaces CLR e quiser uma separação de namespace XAML deliberada entre os usos de tipos em namespaces esses CLR.

  • Você define um namespace CLR no assembly e deseja que ele possa ser acessado através de mais de um namespace XAML.Essa situação ocorre quando você estiver dando suporte a vários vocabulários com a mesma base de código.

  • Suporte a idioma XAML são definidas em um ou mais namespaces do CLR.Nesses casos, o XmlNamespace o valor deve ser http://schemas.microsoft.com/winfx/2006/xaml.

Documentação de referência: XmlnsPrefixAttribute

Argumentos:

  • Uma seqüência de caracteres que especifica o identificador de um namespace XAML.

  • Uma seqüência de caracteres que especifica um prefixo recomendado.

XmlnsDefinitionAttributeEspecifica um prefixo recomendado para usar para um namespace XAML.O prefixo é útil ao escrever elementos e atributos em um arquivo XAML que é serializado pelo.NET Framework XAML Services XamlXmlWriter, ou quando uma biblioteca de implementação de XAML interage com um ambiente de design que tem o XAML recursos de edição.

Mais de um XmlnsPrefixAttribute pode ser aplicado a um assembly.Isso pode ser feito para qualquer combinação dos seguintes motivos:

  • Seu conjunto define tipos de mais de um namespace XAML.Nesse caso, você deve definir valores de prefixo diferente para cada namespace XAML.

  • Suporte a vários vocabulários e você usa prefixos diferentes para cada vocabulário e o namespace XAML.

  • Definir o suporte a idioma XAML no assembly e ter uma XmlnsDefinitionAttribute para http://schemas.microsoft.com/winfx/2006/xaml.Nesse caso, você normalmente deve promover o prefixo x.

System_CAPS_noteObservação

.NET Framework XAML Services também define o atributo de XAML RootNamespaceAttribute.Este é um atributo de nível de assembly para suporte de sistema do projeto e não é relevante para tipos personalizados de XAML.

Mostrar:
© 2016 Microsoft