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
[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
- Héritage
- Attributs
Exemples
L’exemple suivant crée une classe nommée Film
qui a un ContentPropertyAttribute appliqué. La propriété nommée Title
est indiquée en tant que propriété de contenu.
[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
Remarques
Si la propriété associée d’un ContentPropertyAttribute n’est pas de type string
ou object
, un processeur XAML tente d’identifier une technique de conversion de valeur. La première case activée concerne la conversion de type natif, soit des primitives du langage XAML, soit des conversions natives spécifiques activées par cette implémentation d’enregistreur XAML particulière. L’étape suivante consiste à rechercher un convertisseur de type. Dans les implémentations .NET, un convertisseur de type est identifié en fonction TypeConverterAttribute du niveau membre ou de la définition de niveau de type qui s’applique. Si aucune conversion de valeur ne peut être identifiée, un enregistreur d’objets XAML lève généralement une exception.
Pour accepter plusieurs éléments d’objet en tant que contenu, le type de la propriété de contenu XAML doit être pris en charge en tant que type de collection.
En raison de la Inherited=true
déclaration de l’attribut, une valeur pour un ContentPropertyAttribute applique normalement une désignation de propriété de contenu à toutes les classes dérivées. L’application d’un vide ContentPropertyAttribute permet à une classe dérivée de supprimer une déclaration d’un attribut de propriété de contenu par une classe de base (et de noter que la classe n’a pas de propriété de contenu). L’application d’un nom ContentPropertyAttribute différent remplace l’hérité ContentPropertyAttribute par le nouveau.
Dans les versions précédentes du .NET Framework, cette classe existait dans l’assembly WindowsBase spécifique à WPF et avait également une implémentation parallèle dans Windows Communication Foundation (WCF). À partir de .NET Framework 4.0, ContentPropertyAttribute se trouve dans l’assembly System.Xaml. Pour plus d'informations, consultez Types Migrated from WPF to System.Xaml.
Remarques sur l'utilisation de WPF
Exemple d’une classe dans Windows Presentation Foundation (WPF) qui utilise le ContentPropertyAttribute est ContentControl, dont la Button classe hérite. La ContentControl.Content propriété est la propriété de contenu définie par .ContentPropertyAttribute Si un Button est instancié en XAML, le Content de Button sera défini sur l’élément qui se trouve entre les balises de bouton de début et de fin.
Constructeurs
ContentPropertyAttribute() |
Initialise une nouvelle instance de la classe ContentPropertyAttribute. |
ContentPropertyAttribute(String) |
Initialise une nouvelle instance de la classe ContentPropertyAttribute, en utilisant le nom spécifié. |
Propriétés
Name |
Obtient le nom de la propriété qui correspond à la propriété de contenu. |
TypeId |
Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute. (Hérité de Attribute) |
Méthodes
Equals(Object) |
Retourne une valeur qui indique si cette instance est égale à un objet spécifié. (Hérité de Attribute) |
GetHashCode() |
Retourne le code de hachage de cette instance. (Hérité de Attribute) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
IsDefaultAttribute() |
En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée. (Hérité de Attribute) |
Match(Object) |
En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface. (Hérité de Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de Attribute) |