ContentPropertyAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
/// [Windows.Foundation.Metadata.AttributeUsage(System.AttributeTargets.RuntimeClass)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
class ContentPropertyAttribute final : Attribute
/// [Windows.Foundation.Metadata.AttributeUsage(System.AttributeTargets.RuntimeClass)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.AttributeName("contentproperty")]
class ContentPropertyAttribute final : Attribute
[Windows.Foundation.Metadata.AttributeUsage(System.AttributeTargets.RuntimeClass)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public sealed class ContentPropertyAttribute : Attribute
[Windows.Foundation.Metadata.AttributeUsage(System.AttributeTargets.RuntimeClass)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.AttributeName("contentproperty")]
public sealed class ContentPropertyAttribute : Attribute
Public NotInheritable Class ContentPropertyAttribute
Inherits Attribute
- Ereditarietà
-
ContentPropertyAttribute
- Attributi
Requisiti Windows
Famiglia di dispositivi |
Windows 10 (è stato introdotto in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
|
Commenti
C++/WinRT. Vedere l'attributo [contentproperty] .
Questo attributo viene usato per identificare che una proprietà specifica del tipo attributo deve essere considerata la proprietà del contenuto XAML, quando interpretata dai parser XAML e da altri codice del framework XAML. Lo scopo di una proprietà contenuto XAML è che fornisce una sintassi XAML a breve che può omettere il markup degli elementi della proprietà per tale proprietà. La rimozione degli elementi della proprietà facilita un modulo padre-figlio più naturale nel markup XAML. Per altre informazioni sulle proprietà del contenuto XAML, vedere la sezione "Proprietà contenuto XAML" della guida alla sintassi XAML.
Un esempio di classe nel vocabolario XAML predefinito Windows Runtime con ContentPropertyAttribute applicato è Panel. La proprietà Children on the Panel viene identificata come proprietà del contenuto XAML come definita dal contentPropertyAttribute e dal relativo valore Name . Le informazioni sulla proprietà del contenuto vengono ereditate da tutti i tipi derivati di Pannello, ad esempio Grid e Canvas e StackPanel.
Questo codice approssima il modo in cui il pannello applica ContentPropertyAttribute in C# (la definizione true viene applicata nel codice nativo, questa è solo per l'illustrazione):
[ContentProperty(Name = "Children")]
public class Panel : FrameworkElement
{ ...}
Usando Panel e la relativa classe derivata StackPanel come illustrazione del concetto di proprietà del contenuto XAML, potrebbe essere presente il codice XAML seguente:
<StackPanel>
<StackPanel.Children>
<TextBlock>Testing content attribute</TextBlock>
</StackPanel.Children>
</StackPanel>
L'oggetto precedente equivale a questo XAML più leggibile:
<StackPanel>
<TextBlock>Testing content attribute</TextBlock>
</StackPanel>
Quando viene analizzato da un parser XAML, il parser sa tramite ContentPropertyAttribute applicato nel pannello che qualsiasi contenuto trovato all'interno del corpo di un tag StackPanel deve essere usato per impostare il valore di Children nell'istanza di StackPanel creata.
Un altro esempio importante di ContentPropertyAttribute in azione può essere visualizzato nella classe TextBlock . TextBlock usa Inlines come proprietà contenuto e la classe inline predefinita Run usa Text come proprietà del contenuto. In combinazione, le proprietà del contenuto abilitano una semplice sintassi inline, ad esempio <TextBlock>Hello</TextBlock>
, anche se il grafico a oggetti creato da questo XAML è più complesso ed è anche in grado di supportare più elementi inline espliciti se desiderato.
Costruttori
ContentPropertyAttribute() |
Inizializza una nuova istanza della classe ContentPropertyAttribute . |
Campi
Name |
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. |