PropertyMetadata.IsSealed Propriété

Définition

Obtient une valeur qui détermine si les métadonnées ont été appliquées à une propriété, entraînant l'état immuable de cette instance de métadonnées.

protected:
 property bool IsSealed { bool get(); };
protected bool IsSealed { get; }
member this.IsSealed : bool
Protected ReadOnly Property IsSealed As Boolean

Valeur de propriété

Boolean

true si l'instance de métadonnées est immuable ; sinon, false.

Exemples

L’exemple suivant vérifie IsSealed avant une opération définie d’une propriété de métadonnées personnalisée.

public Boolean SupportsMyFeature
{
    get { return _supportsMyFeature; }
    set { if (this.IsSealed != true) _supportsMyFeature = value; } //else may want to raise exception 
}
protected override void Merge(PropertyMetadata baseMetadata, DependencyProperty dp)
{
    base.Merge(baseMetadata, dp);
    MyCustomPropertyMetadata mcpm = baseMetadata as MyCustomPropertyMetadata;
    if (mcpm != null)
    {
        if (this.SupportsMyFeature == false)
        {//if not set, revert to base
            this.SupportsMyFeature = mcpm.SupportsMyFeature;
        }
    }
}

Remarques

Différentes propriétés du PropertyMetadataDefaultValuemodèle objet sont définies en lecture-écriture dans le modèle objet. C’est pourquoi ces propriétés peuvent être ajustées après l’initialisation de l’objet PropertyMetadata lui-même. Toutefois, une fois que les métadonnées sont appliquées à une propriété de dépendance dans le cadre d’un appel à Register, AddOwnerou OverrideMetadata, le système de propriétés scellera cette instance de métadonnées et les propriétés sont désormais considérées comme immuables. Au moment de l’un de ces appels, OnApply est appelé, et la valeur de cette propriété est définie truesur .

S’applique à

Voir aussi