ContentPropertyAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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) |