Windows Dev Center

ContentPropertyAttribute Attribute

Gibt an, welche Eigenschaft eines Typs die XAML-Inhaltseigenschaft ist. Diese Informationen werden von einem XAML-Prozessor beim Verarbeiten von untergeordneten XAML-Elementen von XAML-Darstellungen des Attributtyps verwendet.

Vererbung

Object
  Attribute
    ContentPropertyAttribute

Syntax


public ref class ContentPropertyAttribute sealed : Attribute

Attribute

[AttributeUsage(512)]
[Version(0x6020000)]

Member

ContentPropertyAttributeAttribut hat diese Membertypen:

Konstruktoren

ContentPropertyAttributeAttribut hat diese Konstruktoren.

KonstruktorBeschreibung
ContentPropertyAttribute Initializes a new instance of the ContentPropertyAttribute class.

 

Felder

ContentPropertyAttributeAttribut hat diese Felder.

FeldDatentypBeschreibung
Name

System.String [.NET] | Platform::String [C++]

Ruft den Namen der Eigenschaft ab, bei der es sich um die deklarierte Inhaltseigenschaft handelt.

 

Methoden

The ContentPropertyAttribute Attribut erbt Methoden von Object Klasse.

Hinweise

Mit diesem Attribut wird ermittelt, dass eine bestimmte Eigenschaft des zugeordneten Typs als XAML-Inhaltseigenschaft gewertet wird, wenn sie von XAML-Parsern und anderem XAML-Frameworkcode interpretiert wird. Der Vorteil einer XAML-Inhaltseigenschaft ist, dass sie eine Kurznotation für XAML-Syntax bereitstellt, die anstelle des Markups für das Eigenschaftselement verwendet werden kann. Das Entfernen von Eigenschaftselementen erleichtert eine natürlichere Darstellung über- und untergeordneter Ebenen im XAML-Markup. Weitere Informationen zu XAML-Inhaltseigenschaften finden Sie in der Anleitung zur grundlegenden XAML-Syntax im Abschnitt "XAML-Inhaltseigenschaften".

Ein Beispiel einer Klasse im standardmäßigen Windows Runtime XAML-Vokabular, auf das ContentPropertyAttribute angewendet wird, ist Panel. Die Eigenschaft Children des Panel wird so als die XAML-Inhaltseigenschaft identifiziert, wie sie durch das ContentPropertyAttribute und dessen Name-Wert definiert ist. Die Inhaltseigenschafts-Informationen werden von allen abgeleiteten Typen von Panel wie Grid und Canvas sowie StackPanel geerbt.

Dieser Code gibt ungefähr an, wie Panel auf ContentPropertyAttribute in C# angewendet wird (die eigentliche Definition kommt im systemeigenen Code zur Anwendung, dieses Codebeispiel ist nur für Abbildungszwecke):


[ContentProperty(Name = "Children")]
    public class Panel : FrameworkElement
    { ...}

Wenn Sie Panel und die davon abgeleitete StackPanel-Klasse als die Abbildung des XAML-Inhaltseigenschaftskonzepts verwenden, erhalten Sie möglicherweise folgende XAML:


<StackPanel>
  <StackPanel.Children>
    <TextBlock>Testing content attribute</TextBlock>
  </StackPanel.Children>
</StackPanel>

Das Obige ist zu diesem besser lesbaren XAML-Code entsprechend:


<StackPanel>
  <TextBlock>Testing content attribute</TextBlock>
</StackPanel>

Wenn der Parser durch einen XAML-Parser analysiert wird, ist für diesen dadurch, dass ContentPropertyAttribute auf Panel angewendet wird, offensichtlich, dass alle im Text eines StackPanel-Tags gefundenen Inhalte verwendet werden, um den Wert von Children für die erstellte StackPanel-Instanz festzulegen.

Ein weiteres deutliches Beispiel für ContentPropertyAttribute in Aktion kann auf der TextBlock-Klasse betrachtet werden. TextBlock verwendet Inlines als Inhaltseigenschaft, und die standardmäßige inline Klasse Run verwendet Text als Inhaltseigenschaft. Zusammen ermöglichen die Inhaltseigenschaften eine einfache Inlinesyntax wie <TextBlock>Hello</TextBlock>, auch wenn das von dieser XAML generierte Objektdiagramm komplexer ist und zudem mehrere explizite Inlineelemente unterstützen kann.

Anforderungen

Mindestens unterstützter Client

Windows 8

Mindestens unterstützter Server

Windows Server 2012

Namespace

Windows.UI.Xaml.Markup
Windows::UI::Xaml::Markup [C++]

Metadaten

Windows.winmd

Siehe auch

Attribute
Anleitung zur grundlegenden XAML-Syntax
XAML-Übersicht

 

 

Anzeigen:
© 2015 Microsoft