Condividi tramite


ContentPropertyAttribute Classe

Definizione

Indica quale proprietà di un tipo è la proprietà di contenuto XAML. Un processore XAML usa queste informazioni durante l'elaborazione degli elementi figlio XAML delle rappresentazioni XAML del tipo con attributo.

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
Ereditarietà
ContentPropertyAttribute
Attributi

Esempio

Nell'esempio seguente viene creata una classe denominata Film a cui è applicato un oggetto ContentPropertyAttribute . La proprietà denominata Title è indicata come proprietà content.

[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

Commenti

Se la proprietà associata di un ContentPropertyAttribute oggetto non è di tipo string o object, un processore XAML tenta di identificare una tecnica di conversione di valori. Il primo controllo riguarda la conversione del tipo nativo, le primitive del linguaggio XAML o le conversioni native specifiche abilitate da tale particolare implementazione del writer XAML. Il passaggio successivo consiste nel cercare un convertitore di tipi. Nelle implementazioni di .NET viene identificato un convertitore di tipi basato sulla TypeConverterAttribute definizione del livello membro o del livello di tipo applicabile. Se non è possibile identificare alcuna conversione di valori, un writer di oggetti XAML genera in genere un'eccezione.

Per accettare più di un singolo elemento oggetto come contenuto, il tipo della proprietà del contenuto XAML deve essere supportabile come tipo di raccolta.

A causa della Inherited=true dichiarazione dell'attributo, anche un valore per un ContentPropertyAttribute oggetto applica una designazione di proprietà contenuto a tutte le classi derivate. L'applicazione di un oggetto vuoto ContentPropertyAttribute consente a una classe derivata di rimuovere una dichiarazione di un attributo di proprietà del contenuto da una classe base (e per notare che la classe non ha alcuna proprietà di contenuto). L'applicazione di un nome ContentPropertyAttribute diverso sostituisce l'oggetto ereditato ContentPropertyAttribute con quello nuovo.

Nelle versioni precedenti di .NET Framework, questa classe esisteva nell'assembly specifico di WPF WindowsBase e aveva anche un'implementazione parallela in Windows Communication Foundation (WCF). A partire da .NET Framework 4.0, ContentPropertyAttribute si trova nell'assembly System.Xaml. Per altre informazioni, vedere Types Migrated from WPF to System.Xaml.

Note sull'utilizzo di WPF

Esempio di classe in Windows Presentation Foundation (WPF) che usa ContentPropertyAttribute è ContentControl, da cui eredita la Button classe . La ContentControl.Content proprietà è la proprietà content impostata da ContentPropertyAttribute. Se viene Button creata un'istanza in XAML, l'oggetto ButtonContent di verrà impostato sull'elemento compreso tra i tag del pulsante iniziale e finale.

Costruttori

ContentPropertyAttribute()

Inizializza una nuova istanza della classe ContentPropertyAttribute.

ContentPropertyAttribute(String)

Inizializza una nuova istanza della classe ContentPropertyAttribute usando il nome specificato.

Proprietà

Name

Ottiene il nome della proprietà che è la proprietà di contenuto.

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a

Vedi anche