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 set 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

Diverses propriétés de PropertyMetadata , telles que DefaultValue , sont définies dans le modèle objet en lecture-écriture. Ainsi, ces propriétés peuvent être ajustées après l’initialisation de l' PropertyMetadata objet 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 , AddOwner ou OverrideMetadata , le système de propriétés scelle cette instance de métadonnées et les propriétés sont maintenant 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 sur true .

S’applique à

Voir aussi