FrameworkPropertyMetadata.Inherits Propriété

Définition

Obtient ou définit une valeur qui indique si la valeur de la propriété de dépendance peut être héritée.

public:
 property bool Inherits { bool get(); void set(bool value); };
public bool Inherits { get; set; }
member this.Inherits : bool with get, set
Public Property Inherits As Boolean

Valeur de propriété

Boolean

true si la valeur de la propriété peut être héritée ; sinon, false. La valeur par défaut est false.

Exceptions

Les métadonnées ont déjà été appliquées à une opération de propriété de dépendance : elles sont donc sealed et les propriétés des métadonnées ne peuvent pas être définies.

Exemples

L’exemple suivant obtient les métadonnées par défaut à partir de différents champs de propriété de dépendance, interroge la valeur de différentes FrameworkPropertyMetadata Propriétés sur celui-ci et utilise les informations pour remplir une table afin d’implémenter un « navigateur de métadonnées ».

pm = dp.GetMetadata(dp.OwnerType);
pm = dp.GetMetadata(dp.OwnerType)
FrameworkPropertyMetadata fpm = pm as FrameworkPropertyMetadata;
if (fpm!=null) {
    AffectsArrange.Text = (fpm.AffectsArrange) ? "Yes" : "No";
    AffectsMeasure.Text = (fpm.AffectsMeasure) ? "Yes" : "No";
    AffectsRender.Text = (fpm.AffectsRender) ? "Yes" : "No";
    Inherits.Text = (fpm.Inherits) ? "Yes" : "No";
    IsDataBindingAllowed.Text = (fpm.IsDataBindingAllowed) ? "Yes" : "No";
    BindsTwoWayByDefault.Text = (fpm.BindsTwoWayByDefault) ? "Yes" : "No";
}
Dim fpm As FrameworkPropertyMetadata = TryCast(pm, FrameworkPropertyMetadata)
If fpm IsNot Nothing Then
    AffectsArrange.Text = If((fpm.AffectsArrange), "Yes", "No")
    AffectsMeasure.Text = If((fpm.AffectsMeasure), "Yes", "No")
    AffectsRender.Text = If((fpm.AffectsRender), "Yes", "No")
        [Inherits].Text = If((fpm.Inherits), "Yes", "No")
    IsDataBindingAllowed.Text = If((fpm.IsDataBindingAllowed), "Yes", "No")
    BindsTwoWayByDefault.Text = If((fpm.BindsTwoWayByDefault), "Yes", "No")

Remarques

L’héritage de la valeur de propriété est une fonctionnalité du système de propriétés WPF au niveau de l’infrastructure WPF, où certaines propriétés de dépendance peuvent être définies localement sur un élément à la racine d’une arborescence d’éléments XAML, puis avoir leur valeur héritée par tous les éléments dans l’arborescence logique des éléments enfants qui possèdent également cette propriété. L’héritage de la valeur de propriété n’est pas activé par défaut et son activation a des répercussions sur les performances. Pour plus d’informations, consultez Héritage de la valeur de propriété.

Notes

Bien que l’héritage des valeurs de propriété puisse sembler fonctionner pour les propriétés de dépendance non jointes, le comportement d’héritage pour une propriété non attachée via certaines divisions objet-objet dans l’arborescence d’exécution n’est pas défini. Utilisez toujours RegisterAttached pour enregistrer les propriétés où vous spécifiez Inherits dans les métadonnées.

Les propriétés sur les classes dérivées de PropertyMetadata sont généralement définies dans le modèle objet en lecture-écriture. C’est pourquoi ils peuvent être ajustés après l’initialisation de l’instance. Toutefois, une fois que les métadonnées sont consommées dans le cadre d’un appel à Register , AddOwner ou OverrideMetadata , le système de propriétés scelle l’instance de métadonnées et les propriétés qui transmettent les caractéristiques des métadonnées sont maintenant considérées comme immuables. Toute tentative de définition de cette propriété après IsSealed true la valeur de cette instance de métadonnées lève une exception.

Utilisation de texte XAML

Les membres de cette classe ne sont généralement pas utilisés en XAML.

S’applique à

Voir aussi