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 auf irgendeine Weise angewendet wurden, was zu einem unveränderlichen Zustand dieser Metadateninstanz führt.
protected:
property bool IsSealed { bool get(); };
protected bool IsSealed { get; }
member this.IsSealed : bool
Protected ReadOnly Property IsSealed As Boolean
Eigenschaftswert
truewenn 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) _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;
}
}
}
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 von Register, AddOwneroder , oder OverrideMetadata, auf eine Abhängigkeitseigenschaft angewendet werden, wird das Eigenschaftensystem die Metadateninstanz und die Eigenschaften jetzt als unveränderlich betrachtet. Zum Zeitpunkt eines dieser Aufrufe wird aufgerufen, OnApply und der Wert dieser Eigenschaft wird auf truefestgelegt.