PropertyMetadata.IsSealed Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 != 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 true
ayarlanır.