PropertyMetadata.IsSealed Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.