ContentPropertyAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Indique quelle propriété d’un type est la propriété de contenu XAML. Un processeur XAML utilise ces informations lors du traitement des éléments enfants XAML des représentations XAML du type attribué.
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
- Héritage
-
ContentPropertyAttribute
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Remarques
C++/WinRT. Consultez l’attribut [contentproperty].
Cet attribut est utilisé pour identifier qu’une propriété spécifique du type attributé doit être considérée comme la propriété de contenu XAML, lorsqu’elle est interprétée par des analyseurs XAML et d’autres code d’infrastructure XAML. L’objectif d’une propriété de contenu XAML est qu’elle fournit une syntaxe XAML abrégée qui peut omettre le balisage d’élément de propriété pour cette propriété. La suppression d’éléments de propriété facilite un formulaire parent-enfant plus naturel dans le balisage XAML. Pour plus d’informations sur les propriétés de contenu XAML, consultez la section « Propriétés de contenu XAML » du guide de syntaxe XAML.
Panel est un exemple de classe dans le vocabulaire XAML par défaut Windows Runtime auquel ContentPropertyAttribute est appliqué. La propriété Children sur le panneau est identifiée comme la propriété de contenu XAML telle que définie par ContentPropertyAttribute et sa valeur Name . Les informations de propriété de contenu sont héritées par tous les types dérivés de Panel, tels que Grid et Canvas et StackPanel.
Ce code se rapproche de la façon dont Panel applique ContentPropertyAttribute en C# (la véritable définition est appliquée dans le code natif, à titre d’illustration uniquement) :
[ContentProperty(Name = "Children")]
public class Panel : FrameworkElement
{ ...}
En utilisant Panel et sa classe dérivée StackPanel comme illustration du concept de propriété de contenu XAML, vous pouvez avoir le code XAML suivant :
<StackPanel>
<StackPanel.Children>
<TextBlock>Testing content attribute</TextBlock>
</StackPanel.Children>
</StackPanel>
Le code ci-dessus équivaut à ce XAML plus lisible :
<StackPanel>
<TextBlock>Testing content attribute</TextBlock>
</StackPanel>
Lorsqu’il est analysé par un analyseur XAML, l’analyseur sait par le biais de l’attribut ContentPropertyAttribute appliqué sur Panel que tout contenu trouvé dans le corps d’une balise StackPanel doit être utilisé pour définir la valeur children sur le instance StackPanel créé.
Un autre exemple important de ContentPropertyAttribute en action est visible sur la classe TextBlock . TextBlock utilise Inlines comme propriété de contenu, et la classe inline Run par défaut utilise Text comme propriété de contenu. En combinaison, les propriétés de contenu activent une syntaxe inline simple, telle que <TextBlock>Hello</TextBlock>
, même si le graphique d’objets créé par ce code XAML est plus complexe et peut également prendre en charge plusieurs éléments inline explicites si vous le souhaitez.
Constructeurs
ContentPropertyAttribute() |
Initialise une nouvelle instance de la classe ContentPropertyAttribute. |
Champs
Name |
Indique quelle propriété d’un type est la propriété de contenu XAML. Un processeur XAML utilise ces informations lors du traitement des éléments enfants XAML des représentations XAML du type attribué. |