ContentPropertyAttribute Klasa

Definicja

Wskazuje, która właściwość typu jest właściwością zawartości XAML. Procesor XAML używa tych informacji podczas przetwarzania elementów podrzędnych XAML reprezentacji XAML typu przypisanego.

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
Dziedziczenie
ContentPropertyAttribute
Atrybuty

Przykłady

Poniższy przykład tworzy klasę o nazwie Film , która ma ContentPropertyAttribute zastosowane. Właściwość o nazwie Title jest wskazywana jako właściwość zawartości.

[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

Uwagi

Jeśli skojarzona właściwość obiektu ContentPropertyAttribute nie jest typu string lub object, procesor XAML próbuje zidentyfikować technikę konwersji wartości. Pierwsze sprawdzenie dotyczy konwersji typu natywnego, dowolnego z typów pierwotnych języka XAML lub określonych konwersji natywnych włączonych przez tę konkretną implementację modułu zapisywania XAML. Następnym krokiem jest wyszukanie konwertera typów. W implementacjach platformy .NET konwerter typów jest identyfikowany na TypeConverterAttribute podstawie definicji poziomu elementu członkowskiego lub poziomu typu, która ma zastosowanie. Jeśli nie można zidentyfikować konwersji wartości, składnik zapisywania obiektów XAML zwykle zgłasza wyjątek.

Aby zaakceptować więcej niż jeden element obiektu jako zawartość, typ właściwości zawartości XAML musi być obsługiwane jako typ kolekcji.

Ze względu na Inherited=true deklarację atrybutu wartość zwykle ContentPropertyAttribute stosuje oznaczenie właściwości zawartości do wszystkich klas pochodnych. Zastosowanie pustej ContentPropertyAttribute klasy umożliwia klasom pochodnym usunięcie deklaracji atrybutu właściwości zawartości przez klasę bazową (i pamiętanie, że klasa nie ma właściwości zawartości). Zastosowanie innej nazwy ContentPropertyAttribute zastępuje dziedziczone ContentPropertyAttribute przez nową.

W poprzednich wersjach .NET Framework ta klasa istniała w bazie Danych WindowsBase zestawu specyficznego dla platformy WPF, a także miała równoległą implementację w programie Windows Communication Foundation (WCF). Począwszy od .NET Framework 4.0, ContentPropertyAttribute znajduje się w zestawie System.Xaml. Aby uzyskać więcej informacji, zobacz Typy migrowane z WPF do System.Xaml.

Uwagi o użyciu WPF

Przykładem klasy w Windows Presentation Foundation (WPF) używającej ContentPropertyAttribute klasy jest ContentControl, z której Button klasa dziedziczy. Właściwość ContentControl.Content jest właściwością zawartości ustawioną ContentPropertyAttributeprzez element . Jeśli wystąpienie elementu Button jest tworzone w języku XAML, ContentButton element zostanie ustawiony na element, który znajduje się między tagami przycisku startowego i końcowego.

Konstruktory

ContentPropertyAttribute()

Inicjuje nowe wystąpienie klasy ContentPropertyAttribute.

ContentPropertyAttribute(String)

Inicjuje ContentPropertyAttribute nowe wystąpienie klasy przy użyciu określonej nazwy.

Właściwości

Name

Pobiera nazwę właściwości, która jest właściwością zawartości.

TypeId

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego elementu Attribute.

(Odziedziczone po Attribute)

Metody

Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.

(Odziedziczone po Attribute)
GetHashCode()

Zwraca wartość skrótu dla tego wystąpienia.

(Odziedziczone po Attribute)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
IsDefaultAttribute()

W przypadku zastąpienia w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej.

(Odziedziczone po Attribute)
Match(Object)

W przypadku zastąpienia w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi.

(Odziedziczone po Attribute)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

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

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie obiektu, którego można użyć do pobrania informacji o typie interfejsu.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).

(Odziedziczone po Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.

(Odziedziczone po Attribute)

Dotyczy

Zobacz też