DependencyProperty.OverrideMetadata Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.
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.