PropertyMetadata.IsSealed Özellik

Tanım

Meta verilerin bir özelliğe bir şekilde uygulanıp uygulanmadığını belirleyen ve bu meta veri örneğinin sabit durumuna neden olan bir değer alır.

protected:
 property bool IsSealed { bool get(); };
protected bool IsSealed { get; }
member this.IsSealed : bool
Protected ReadOnly Property IsSealed As Boolean

Özellik Değeri

Boolean

true meta veri örneği sabitse; aksi takdirde , false.

Örnekler

Aşağıdaki örnek, özel meta veri özelliğinin ayarlanmış işleminden önce denetler 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;
        }
    }
}

Açıklamalar

gibi DefaultValueçeşitli özellikleri PropertyMetadatanesne modelinde okuma-yazma olarak tanımlanır. Bu, bu özelliklerin nesnenin kendisini başlatmadan sonra ayarlanabilmesi için PropertyMetadata kullanılır. Ancak, meta veriler , AddOwnerveya OverrideMetadataçağrısının bir parçası olarak bağımlılık özelliğine Registeruygulandıktan sonra, özellik sistemi bu meta veri örneğini mühürler ve özellikler artık sabit olarak kabul edilir. Bu çağrılardan OnApply biri sırasında çağrılır ve bu özelliğin değeri olarak trueayarlanır.

Şunlara uygulanır

Ayrıca bkz.