PropertyMetadata.Merge(PropertyMetadata, DependencyProperty) Yöntem

Tanım

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.

dp
DependencyProperty

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.

Şunlara uygulanır

Ayrıca bkz.