Taal

PropertyMetadata.IsSealed Eigenschap

Definitie

Hiermee wordt een waarde opgehaald die bepaalt of de metagegevens op een bepaalde manier zijn toegepast op een eigenschap, wat resulteert in de onveranderbare status van dat metagegevensexemplaren.

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

Waarde van eigenschap

true als het metagegevensexemplaren onveranderbaar is; anders, false.

Voorbeelden

In het volgende voorbeeld wordt gecontroleerd IsSealed voordat een set bewerking van een aangepaste metagegevenseigenschap wordt uitgevoerd.

public Boolean SupportsMyFeature
{
    get { return _supportsMyFeature; }
    set { if (!this.IsSealed) _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)
        {//if not set, revert to base
            this.SupportsMyFeature = mcpm.SupportsMyFeature;
        }
    }
}

Opmerkingen

Verschillende eigenschappen van PropertyMetadata, zoals DefaultValue, worden in het objectmodel gedefinieerd als lezen/schrijven. Dit is dus dat deze eigenschappen kunnen worden aangepast na de initialisatie van het PropertyMetadata object zelf. Zodra de metagegevens echter zijn toegepast op een afhankelijkheidseigenschap als onderdeel van een aanroep naar Register, AddOwnerof OverrideMetadata, zal het eigenschappensysteem dat metagegevensexemplaren en de eigenschappen nu als onveranderbaar worden beschouwd. Op het moment van een van deze aanroepen wordt OnApply aangeroepen en de waarde van deze eigenschap is ingesteld op true.

Van toepassing op

Zie ook