Taal

PropertyMetadata.Merge(PropertyMetadata, DependencyProperty) Methode

Definitie

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.

dp
DependencyProperty

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.

Van toepassing op

Zie ook