Partager via


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 celle-ci et utilise les informations pour remplir une table pour 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 valeur de propriété est une fonctionnalité du système de propriétés WPF au niveau de l’infrastructure WPF, dans laquelle certaines propriétés de dépendance peuvent être définies localement sur un élément à ou près de la racine d’une arborescence d’éléments XAML, puis ont leur valeur héritée par tous les éléments de l’arborescence logique des éléments enfants qui possèdent également cette propriété. L’héritage des valeurs de propriété n’est pas activé par défaut et l’activation a des implications sur les performances. Pour plus d’informations, consultez Héritage de la valeur de propriété.

Notes

Bien que l’héritage de valeur de propriété semble fonctionner pour les propriétés de dépendance non attachées, le comportement d’héritage d’une propriété non attachée via certaines divisions d’objets dans l’arborescence d’exécution n’est pas défini. RegisterAttached Utilisez toujours pour inscrire des propriétés dans lesquelles vous spécifiez Inherits 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 comme en lecture-écriture. C’est pourquoi ils peuvent être ajustés après l’initialisation de l’instance. Toutefois, une fois les métadonnées consommées dans le cadre d’un appel à Register, AddOwnerou , le OverrideMetadatasystème de propriétés scellera cette instance de métadonnées et les propriétés qui transmettent les spécificités des métadonnées sont désormais considérées comme immuables. La tentative de définition de cette propriété après IsSealed avoir true été effectuée sur cette instance de métadonnées déclenche une exception.

Utilisation du texte XAML

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

S’applique à

Voir aussi