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 != 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ě.