PropertyMetadata.Merge(PropertyMetadata, DependencyProperty) Yöntem
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.
Bu meta verileri temel meta verilerle birleştirir.
protected:
virtual void Merge(System::Windows::PropertyMetadata ^ baseMetadata, System::Windows::DependencyProperty ^ dp);
protected virtual void Merge (System.Windows.PropertyMetadata baseMetadata, System.Windows.DependencyProperty dp);
abstract member Merge : System.Windows.PropertyMetadata * System.Windows.DependencyProperty -> unit
override this.Merge : System.Windows.PropertyMetadata * System.Windows.DependencyProperty -> unit
Protected Overridable Sub Merge (baseMetadata As PropertyMetadata, dp As DependencyProperty)
Parametreler
- baseMetadata
- PropertyMetadata
Bu örneğin değerleriyle birleştirilecek temel meta veriler.
Bu meta verilerin uygulandığı bağımlılık özelliği.
Örnekler
Aşağıdaki örnek, özellik meta verilerine ek özellik ekleyen bir özel meta veri türü için birleştirme uygular.
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
Meta veriler geçersiz kılındığında (OverrideMetadata yöntem) bu yöntem dahili olarak kullanılır.
Devralanlara Notlar
öğesinden PropertyMetadata türetilen sınıf uygulamaları, uygulamalarına ekledikleri meta veri özelliklerini hesaba katmak için bu yöntemi geçersiz kılmalıdır. Örneğin, uygulamanız yeni bir bayrak yönünde numaralandırma değeri eklemiş olabilir ve Merge(PropertyMetadata, DependencyProperty) bu durumda uygulamanın bu bayrakları doğru bir şekilde birleştirebilmesi gerekir.
Temel uygulama türü üzerinde önceden tanımlanmış olan tüm özellikleri birleştirme işlemini üstlenir çünkü her zaman uygulama kodunuzdan önce temel uygulamayı çağırın PropertyMetadata .
Birleştirmenin tam davranışı size göredir. Değerlerin birleştirilmesini, türetilen meta verilerin varsayılan değerde bırakılması durumunda temel değere geri dönmeyi veya belirli meta veri sınıfınıza eklediğiniz özelliklerin türlerine ve anlamlarına bağlı olarak birçok farklı davranışı tercih edebilirsiniz.