Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

PropertyMetadata.Merge méthode (PropertyMetadata, DependencyProperty)

 

Date de publication : novembre 2016

Fusionne ces métadonnées avec les métadonnées de base.

Espace de noms:   System.Windows
Assembly:  WindowsBase (dans WindowsBase.dll)

protected virtual void Merge(
	PropertyMetadata baseMetadata,
	DependencyProperty dp
)

Paramètres

baseMetadata
Type: System.Windows.PropertyMetadata

Les métadonnées de base à fusionner avec les valeurs de cette instance.

dp
Type: System.Windows.DependencyProperty

La propriété de dépendance à laquelle cette métadonnées sont appliquées.

Cette méthode est utilisée en interne lorsque les métadonnées sont substituées (OverrideMetadata méthode).

Remarques à l’attention des héritiers :

Les implémentations qui dérivent de la classe PropertyMetadata doivent substituer cette méthode pour prendre en compte pour toutes les propriétés de métadonnées qu’ils ont ajoutées dans leurs implémentations. Par exemple, votre implémentation a pu ajouter une nouvelle valeur d’énumération d’indicateurs et le Merge implémentation doit ensuite être en mesure de combiner ces indicateurs correctement.

Appelez toujours l’implémentation de base avant votre code d’implémentation, car l’implémentation de base prend en charge de la fusion de toutes les propriétés déjà définies sur le PropertyMetadata type.

Le comportement exact de la fusion est à vous. Vous pouvez choisir de combiner des valeurs, revenir à la valeur de base si les métadonnées dérivées sont toujours la valeur par défaut ou de nombreux autres comportements basés sur les types de propriétés que vous avez ajouté à votre classe de métadonnées et leurs significations.

L’exemple suivant implémente une fusion pour un type de métadonnées personnalisé qui ajoute une propriété supplémentaire aux métadonnées de propriété.

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

.NET Framework
Disponible depuis 3.0
Retour au début
Afficher: