PropertyMetadata.Merge(PropertyMetadata, DependencyProperty) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.
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) _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;
}
}
}
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 by měly tuto metodu přepsat tak, aby zohlednily všechny vlastnosti metadat, které byly přidány do svých implementací. Vaše implementace například mohla přidat novou hodnotu výčtu příznaku a Merge(PropertyMetadata, DependencyProperty) implementace by pak měla být schopna tyto příznaky správně zkombinovat.
Vždy volejte 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é jsou již definovány v PropertyMetadata typu.
Přesné chování sloučení je na vás. Můžete se rozhodnout, že se hodnoty zkombinují, vrátíte se k základní hodnotě, 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ýznamů.