Freigeben über


PropertyMetadata.IsSealed Eigenschaft

Definition

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

Boolean

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 truefestgelegt.

Gilt für

Siehe auch