ContentPropertyAttribute Classe

Definição

Indica qual propriedade de um tipo é a propriedade de conteúdo XAML. Um processador XAML usa essas informações durante o processamento de elementos filho XAML de representações XAML do tipo atribuído.

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

Exemplos

O exemplo a seguir cria uma classe chamada Film que tem um ContentPropertyAttribute aplicado. A propriedade nomeada Title é indicada como a propriedade de conteúdo.

[ContentProperty("Title")]
public class Film
{
    public Film()
    {
    }

    public string Title
    {
        get { return _title; }
        set { _title = value; }
    }

    private string _title;
}
<ContentProperty("Title")>
Public Class Film
    Public Sub New()
    End Sub

    Public Property Title() As String
        Get
            Return _title
        End Get
        Set(ByVal value As String)
            _title = value
        End Set
    End Property

    Private _title As String
End Class

Comentários

Se a propriedade associada de um ContentPropertyAttribute não for do tipo string ou object, um processador XAML tentará identificar uma técnica de conversão de valor. A primeira marcar é para conversão de tipo nativo, seja de primitivos da linguagem XAML ou de conversões nativas específicas habilitadas por essa implementação específica do gravador XAML. A próxima etapa é procurar um conversor de tipo. Nas implementações do .NET, um conversor de tipo é identificado com base no nível de membro ou na TypeConverterAttribute definição de nível de tipo que se aplica. Se nenhuma conversão de valor puder ser identificada, um gravador de objeto XAML normalmente gerará uma exceção.

Para aceitar mais de um único elemento de objeto como conteúdo, o tipo da propriedade de conteúdo XAML deve ser compatível como um tipo de coleção.

Devido à Inherited=true declaração do atributo , um valor para um ContentPropertyAttribute normalmente aplica uma designação de propriedade de conteúdo a todas as classes derivadas também. A aplicação de uma classe vazia ContentPropertyAttribute permite que uma classe derivada remova uma declaração de um atributo de propriedade de conteúdo por uma classe base (e observe que a classe não tem nenhuma propriedade de conteúdo). A aplicação de um nome diferente ContentPropertyAttribute substitui o herdado ContentPropertyAttribute pelo novo.

Em versões anteriores do .NET Framework, essa classe existia no assembly específico do WPF WindowsBase e também tinha uma implementação paralela no WCF (Windows Communication Foundation). A partir do .NET Framework 4.0, ContentPropertyAttribute está no assembly System.Xaml. Para obter mais informações, consulte Tipos migrados do WPF para System.Xaml.

Notas de uso do WPF

Um exemplo de uma classe em Windows Presentation Foundation (WPF) que usa o ContentPropertyAttribute é ContentControl, da qual a Button classe herda. A ContentControl.Content propriedade é a propriedade de conteúdo definida pelo ContentPropertyAttribute. Se um Button for instanciado em XAML, o ContentButton do será definido como o elemento que está entre as marcas de botão iniciar e terminar.

Construtores

ContentPropertyAttribute()

Inicializa uma nova instância da classe ContentPropertyAttribute.

ContentPropertyAttribute(String)

Inicializa uma nova instância da classe ContentPropertyAttribute, usando o nome especificado.

Propriedades

Name

Obtém o nome da propriedade que é a propriedade de conteúdo.

TypeId

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

(Herdado de Attribute)

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