Sdílet prostřednictvím


PropertyMetadata.Merge(PropertyMetadata, DependencyProperty) Metoda

Definice

Sloučí tato metadata se základními metadaty.

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)

Parametry

baseMetadata
PropertyMetadata

Základní metadata pro sloučení s hodnotami této instance.

dp
DependencyProperty

Vlastnost závislosti, na kterou se tato metadata používají.

Příklady

Následující příklad implementuje sloučení pro vlastní typ metadat, který přidá další vlastnost do metadat vlastnosti.

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

Poznámky

Tato metoda se používá interně při přepsání metadat (OverrideMetadata metoda).

Poznámky pro dědice

Implementace tříd odvozené z PropertyMetadata této metody by měly přepsat tak, aby zohlednily všechny vlastnosti metadat, které přidaly do svých implementací. Vaše implementace například mohla přidat novou hodnotu výčtu s příznakem a Merge(PropertyMetadata, DependencyProperty) implementace by pak měla být schopná tyto příznaky správně kombinovat.

Vždy zavolejte základní implementaci před vaším implementačním kódem, protože základní implementace se postará o sloučení všech vlastností, které už jsou definované pro PropertyMetadata daný typ.

Přesné chování sloučení je na vás. Pokud byla odvozená metadata ponechána ve výchozím nastavení, nebo mnoho dalších chování na základě typů vlastností, které jste přidali do konkrétní třídy metadat, a jejich významy, můžete se rozhodnout mít zkombinované hodnoty, vrátit se k základní hodnotě.

Platí pro

Viz také