Dil

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

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) _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;
        }
    }
}

Açıklamalar

gibi PropertyMetadataçeşitli özellikleri DefaultValuenesne modelinde okuma-yazma olarak tanımlanır. Bu, nesnenin kendisini başlatmadan sonra bu özelliklerin ayarlanabilmesi için PropertyMetadata geçerlidir. Ancak, meta veriler , Registerveya AddOwnerçağrısının bir parçası olarak bağımlılık özelliğine OverrideMetadatauygulandı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.