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.Gets a value that determines whether the metadata has been applied to a property in some way, resulting in the immutable state of that metadata instance.

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.true if the metadata instance is immutable; otherwise, false.

Beispiele

Im folgenden Beispiel wird IsSealed vor einem Set-Vorgang einer benutzerdefinierten Metadateneigenschaft überprüft.The following example checks IsSealed prior to a set operation of a custom metadata property.

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, DefaultValuewie z. b., werden im Objektmodell als Lese-/Schreibzugriff definiert.Various properties of PropertyMetadata, such as DefaultValue, are defined in the object model as read-write. So können diese Eigenschaften nach der Initialisierung des PropertyMetadata Objekts selbst angepasst werden.This is so those properties can be adjusted after initialization of the PropertyMetadata object itself. Nachdem die Metadaten jedoch im Rahmen eines Aufrufes Register, AddOwneroder OverrideMetadataauf eine Abhängigkeits Eigenschaft angewendet wurden, wird diese Metadateninstanz vom Eigenschaften System versiegelt, und die Eigenschaften werden nun als unveränderlich eingestuft.However, once the metadata is applied to a dependency property as part of a call to Register, AddOwner, or OverrideMetadata, the property system will seal that metadata instance and the properties are now considered immutable. Zum Zeitpunkt eines dieser Aufrufe OnApply wird aufgerufen, und der Wert dieser Eigenschaft wird auf truefestgelegt.At the time of one of these calls, OnApply is called, and the value of this property is set to true.

Gilt für:

Siehe auch