PropertyMetadata.IsSealed Propriété
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.
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é
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 true
sur .