PropertyMetadata.IsSealed Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der bestimmt, ob die Metadaten auf eine Eigenschaft angewendet wurden, wodurch die betreffende Metadateninstanz als unveränderlich festgelegt wurde.
protected:
property bool IsSealed { bool get(); };
protected bool IsSealed { get; }
member this.IsSealed : bool
Protected ReadOnly Property IsSealed As Boolean
Eigenschaftswert
true
, wenn die Metadateninstanz unveränderlich ist, andernfalls false
.
Beispiele
Im folgenden Beispiel wird vor einem Satzvorgang einer benutzerdefinierten Metadateneigenschaft überprüft IsSealed .
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;
}
}
}
Hinweise
Verschiedene Eigenschaften von PropertyMetadata, z DefaultValue. B. , werden im Objektmodell als Lese-/Schreibzugriff definiert. Dies ist so, dass diese Eigenschaften nach der Initialisierung des PropertyMetadata Objekts selbst angepasst werden können. Sobald die Metadaten jedoch als Teil eines Aufrufs auf Registereine Abhängigkeitseigenschaft angewendet werden, AddOwneroder OverrideMetadatawird das Eigenschaftensystem die Metadateninstanz und die Eigenschaften jetzt als unveränderlich betrachtet. Zum Zeitpunkt eines dieser Aufrufe OnApply wird aufgerufen, und der Wert dieser Eigenschaft wird auf true
festgelegt.