Partager via


DependencyProperty.OverrideMetadata Méthode

Définition

Fournit des métadonnées de remplacement pour cette propriété de dépendance quand elle est présente sur des instances d’un type spécifié, différentes des métadonnées qui ont été fournies dans l’inscription de la propriété de dépendance initiale.

Surcharges

OverrideMetadata(Type, PropertyMetadata)

Spécifie les métadonnées de remplacement pour cette propriété de dépendance quand elle est présente sur des instances d’un type spécifié, substituant les métadonnées qui existaient pour la propriété de dépendance quand elle a été héritée de types de base.

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Fournit des métadonnées de remplacement pour une propriété de dépendance en lecture seule quand elle est présente sur des instances d’un type spécifié, substituant les métadonnées fournies dans l’inscription de la propriété de dépendance initiale. Vous devez passer DependencyPropertyKey pour la propriété de dépendance en lecture seule pour éviter de lever une exception.

OverrideMetadata(Type, PropertyMetadata)

Spécifie les métadonnées de remplacement pour cette propriété de dépendance quand elle est présente sur des instances d’un type spécifié, substituant les métadonnées qui existaient pour la propriété de dépendance quand elle a été héritée de types de base.

public:
 void OverrideMetadata(Type ^ forType, System::Windows::PropertyMetadata ^ typeMetadata);
public void OverrideMetadata (Type forType, System.Windows.PropertyMetadata typeMetadata);
member this.OverrideMetadata : Type * System.Windows.PropertyMetadata -> unit
Public Sub OverrideMetadata (forType As Type, typeMetadata As PropertyMetadata)

Paramètres

forType
Type

Type où cette propriété de dépendance est héritée et emplacement où les métadonnées de remplacement fournies seront appliquées.

typeMetadata
PropertyMetadata

Métadonnées à appliquer à la propriété de dépendance sur le type de substitution.

Exceptions

Vous avez essayé de substituer des métadonnées sur une propriété de dépendance en lecture seule (vous ne pouvez pas effectuer cette opération à l’aide de cette signature).

Des métadonnées ont déjà été établies pour la propriété de dépendance telle qu’elle existe sur le type fourni.

Remarques

Les métadonnées de propriété de dépendance doivent être remplacées avant que le système de propriétés n’utilise la propriété de dépendance. Cela équivaut à la durée de création d’instances spécifiques à l’aide de la classe qui inscrit la propriété de dépendance. Les appels à OverrideMetadata ne doivent être effectués que dans les constructeurs statiques du type qui se fournit lui-même en tant que forType paramètre de cette méthode, ou par le biais d’une instanciation similaire. La tentative de modification des métadonnées après l’existence d’instances du type de propriétaire ne génère pas d’exceptions, mais entraîne des comportements incohérents dans le système de propriétés.

Une fois que les métadonnées d’une substitution de classe dérivée particulière sont établies avec cette méthode, les tentatives suivantes de remplacement de métadonnées sur cette même classe dérivée déclenchent une exception.

Les métadonnées fournies sont fusionnées avec les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur le propriétaire de base. Toutes les caractéristiques qui ont été spécifiées dans les métadonnées de base d’origine sont conservées ; seules les caractéristiques qui ont été spécifiquement modifiées dans les nouvelles métadonnées remplacent les caractéristiques des métadonnées de base. Certaines caractéristiques telles que sont DefaultValue remplacées si elles sont spécifiées dans les nouvelles métadonnées. D’autres, comme PropertyChangedCallback, sont combinés. En fin de compte, le comportement de fusion dépend du type de métadonnées de propriété utilisé pour le remplacement. Par conséquent, le comportement décrit ici concerne les classes de métadonnées de propriété existantes utilisées par les propriétés de dépendance WPF. Pour plus d’informations, consultez Métadonnées de propriété de dépendance et Métadonnées de propriété framework.

S’applique à

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Fournit des métadonnées de remplacement pour une propriété de dépendance en lecture seule quand elle est présente sur des instances d’un type spécifié, substituant les métadonnées fournies dans l’inscription de la propriété de dépendance initiale. Vous devez passer DependencyPropertyKey pour la propriété de dépendance en lecture seule pour éviter de lever une exception.

public:
 void OverrideMetadata(Type ^ forType, System::Windows::PropertyMetadata ^ typeMetadata, System::Windows::DependencyPropertyKey ^ key);
public void OverrideMetadata (Type forType, System.Windows.PropertyMetadata typeMetadata, System.Windows.DependencyPropertyKey key);
member this.OverrideMetadata : Type * System.Windows.PropertyMetadata * System.Windows.DependencyPropertyKey -> unit
Public Sub OverrideMetadata (forType As Type, typeMetadata As PropertyMetadata, key As DependencyPropertyKey)

Paramètres

forType
Type

Type où cette propriété de dépendance est héritée et emplacement où les métadonnées de remplacement fournies seront appliquées.

typeMetadata
PropertyMetadata

Métadonnées à appliquer à la propriété de dépendance sur le type de substitution.

key
DependencyPropertyKey

Clé d’accès pour une propriété de dépendance en lecture seule.

Remarques

Cette signature fournit l’implémentation sous-jacente d’une méthode d’identificateur de propriété de dépendance en lecture seule (DependencyPropertyKey). Si vous substituez des métadonnées pour une propriété de dépendance en lecture-écriture, utilisez OverrideMetadata(Type, PropertyMetadata).

Les métadonnées de propriété de dépendance doivent être remplacées avant que le système de propriétés n’utilise la propriété de dépendance. Cela équivaut à la durée de création d’objets spécifiques pour la classe qui inscrit la propriété de dépendance. Les appels à OverrideMetadata ne doivent être effectués que dans les constructeurs statiques du type qui se fournit lui-même en tant que forType paramètre de cette méthode, ou par le biais d’une instanciation similaire. La tentative de modification des métadonnées après l’existence d’instances du type de propriétaire ne génère pas d’exceptions, mais entraîne des comportements incohérents dans le système de propriétés.

Une fois que les métadonnées d’une substitution de classe dérivée particulière sont établies avec cette méthode, les tentatives suivantes de remplacement de métadonnées sur cette même classe dérivée déclenchent une exception.

Les métadonnées fournies sont fusionnées avec les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur le propriétaire de base. Toutes les caractéristiques qui ont été spécifiées dans les métadonnées de base d’origine sont conservées ; seules les caractéristiques qui ont été spécifiquement modifiées dans les nouvelles métadonnées remplacent les caractéristiques des métadonnées de base. Certaines caractéristiques telles que sont DefaultValue remplacées si elles sont spécifiées dans les nouvelles métadonnées. D’autres, comme PropertyChangedCallback, sont combinés. Le comportement de fusion dépend du type de métadonnées de propriété utilisé pour la substitution. Pour plus d’informations, consultez Métadonnées de propriété de dépendance et Métadonnées de propriété framework.

S’applique à