PropertyMetadata.Merge(PropertyMetadata, DependencyProperty) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee worden deze metagegevens samengevoegd met de basismetagegevens.
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)
Parameters
- baseMetadata
- PropertyMetadata
De basismetagegevens die moeten worden samengevoegd met de waarden van dit exemplaar.
De afhankelijkheidseigenschap waarop deze metagegevens worden toegepast.
Voorbeelden
In het volgende voorbeeld wordt een samenvoeging geïmplementeerd voor een aangepast metagegevenstype waarmee een extra eigenschap wordt toegevoegd aan de metagegevens van de eigenschap.
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;
}
}
}
Opmerkingen
Deze methode wordt intern gebruikt wanneer metagegevens worden overschreven (OverrideMetadata methode).
Notities voor overnemers
Klasse-implementaties die zijn afgeleid van PropertyMetadata , moeten deze methode overschrijven om rekening te houden met metagegevenseigenschappen die ze hebben toegevoegd in hun implementaties. Uw implementatie kan bijvoorbeeld een nieuwe vlaggewijze opsommingswaarde hebben toegevoegd en de Merge(PropertyMetadata, DependencyProperty) implementatie moet deze vlaggen vervolgens correct kunnen combineren.
Roep altijd de basisimplementatie aan vóór uw implementatiecode, omdat de basisimplementatie zorgt voor het samenvoegen van alle eigenschappen die al zijn gedefinieerd voor het PropertyMetadata type.
Het exacte gedrag van de samenvoeging is aan u. U kunt ervoor kiezen om waarden te combineren, terug te keren naar de basiswaarde als de afgeleide metagegevens op de standaardwaarde zijn achtergelaten, of veel andere gedragingen op basis van de typen eigenschappen die u hebt toegevoegd aan uw specifieke metagegevensklasse en hun betekenissen.