DependencyProperty.AddOwner Méthode

Définition

Ajoute un autre type en tant que propriétaire d’une propriété de dépendance qui a déjà été inscrite à un type.

Surcharges

AddOwner(Type)

Ajoute un autre type en tant que propriétaire d’une propriété de dépendance qui a déjà été inscrite.

AddOwner(Type, PropertyMetadata)

Ajoute un autre type en tant que propriétaire d’une propriété de dépendance déjà inscrite, et fournit des métadonnées de propriété de dépendance à la propriété de dépendance telle qu’elle existe sur le type de propriétaire fourni.

AddOwner(Type)

Ajoute un autre type en tant que propriétaire d’une propriété de dépendance qui a déjà été inscrite.

public:
 System::Windows::DependencyProperty ^ AddOwner(Type ^ ownerType);
public System.Windows.DependencyProperty AddOwner (Type ownerType);
member this.AddOwner : Type -> System.Windows.DependencyProperty
Public Function AddOwner (ownerType As Type) As DependencyProperty

Paramètres

ownerType
Type

Type à ajouter en tant que propriétaire de cette propriété de dépendance.

Retours

DependencyProperty

Référence à l’identificateur DependencyProperty d’origine qui identifie la propriété de dépendance. Cet identificateur doit être exposé par la classe d’ajout en tant que champ public static readonly.

Remarques

Cette méthode permet au système de propriétés de reconnaître une propriété de dépendance sur un type qui n’a pas enregistré initialement cette propriété de dépendance particulière.

En général, AddOwner est utilisé pour ajouter des propriétés de dépendance à des classes qui n’exposent pas encore cette propriété de dépendance par le biais de l’héritage de classes managées (l’héritage de classe entraîne l’héritage des propriétés de wrapper par la classe dérivée, et fournit donc des membres généraux-l’accès à la propriété de dépendance déjà). AddOwner permet au système de propriétés de reconnaître une propriété de dépendance sur un type qui n’a pas inscrit cette propriété de dépendance initialement.

Cette signature ne permet pas de spécifier des métadonnées. Lorsque vous utilisez cette méthode, les métadonnées sont générées automatiquement pour le nouveau DependencyProperty et son type de propriétaire. Les métadonnées générées automatiquement sont le résultat des métadonnées fusionnées de tous les types de base pour lesquels cette propriété est définie. Si aucune métadonnée fusionnée n’est disponible, les métadonnées par défaut de la propriété sont utilisées. Si la propriété est inscrite à l’aide de la RegisterAttached méthode, les métadonnées par défaut sont les mêmes que celles créées lors de l' RegisterAttached appel à. Dans le cas contraire, l' PropertyMetadata objet est créé avec la DefaultValue propriété définie sur la valeur par défaut du type de propriété et toutes les autres propriétés de l’objet PropertyMetadata ont la valeur null . Utilisez la AddOwner(Type, PropertyMetadata) signature si vous souhaitez fournir des métadonnées pour la version de la propriété de dépendance telle qu’elle est ajoutée au type fourni.

La valeur de retour de cette méthode est généralement utilisée pour déclarer et exposer la propriété de dépendance en stockant un identificateur de propriété de dépendance. L’identificateur fournit l’accès à la propriété de dépendance si vous souhaitez appeler les API du système de propriétés par rapport à la propriété de dépendance, en particulier dans la mesure où elle existe sur la classe propriétaire d’ajout. Le même nom de propriété pour le propriétaire d’origine et le propriétaire ajouté doit être utilisé pour indiquer la fonctionnalité similaire. Vous devez utiliser la DependencyProperty valeur de retour de la AddOwner méthode pour définir l’identificateur de propriété de dépendance, ainsi que pour déclarer des wrappers de propriété CLR, pour les propriétés de dépendance qui sont ajoutées aux types à l’aide de AddOwner .

La AddOwner méthodologie recommandée ci-dessus est utilisée lors de la création des propriétés de dépendance déclarées dans WPF. Par exemple, Border et Control définissent tous deux une BorderBrush propriété de dépendance, qui ont des fonctionnalités similaires. Control définit sa BorderBrush propriété sur le système de propriétés en appelant AddOwner en fonction du propriétaire d’origine Border et de son identificateur de propriété de BorderBrushProperty dépendance inscrit. La AddOwner valeur de retour est ensuite utilisée pour établir un nouveau DependencyProperty champ statique ( BorderBrushProperty ) pour cette propriété sur le propriétaire ajouté, et un BorderBrush Wrapper de propriété est également déclaré.

S’applique à

AddOwner(Type, PropertyMetadata)

Ajoute un autre type en tant que propriétaire d’une propriété de dépendance déjà inscrite, et fournit des métadonnées de propriété de dépendance à la propriété de dépendance telle qu’elle existe sur le type de propriétaire fourni.

public:
 System::Windows::DependencyProperty ^ AddOwner(Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata);
public System.Windows.DependencyProperty AddOwner (Type ownerType, System.Windows.PropertyMetadata typeMetadata);
member this.AddOwner : Type * System.Windows.PropertyMetadata -> System.Windows.DependencyProperty
Public Function AddOwner (ownerType As Type, typeMetadata As PropertyMetadata) As DependencyProperty

Paramètres

ownerType
Type

Type à ajouter en tant que propriétaire de cette propriété de dépendance.

typeMetadata
PropertyMetadata

Métadonnées qui qualifient la propriété de dépendance telle qu’elle existe sur le type fourni.

Retours

DependencyProperty

Référence à l’identificateur DependencyProperty d’origine qui identifie la propriété de dépendance. Cet identificateur doit être exposé par la classe d’ajout en tant que champ public static readonly.

Remarques

Cette méthode permet au système de propriétés de reconnaître une propriété de dépendance sur un type qui n’a pas enregistré initialement cette propriété de dépendance particulière.

La valeur de retour de cette méthode est utilisée pour déclarer et exposer la propriété de dépendance, en particulier telle qu’elle existe sur la classe propriétaire d’ajout. En règle générale, le même nom de propriété pour le propriétaire d’origine et le propriétaire ajouté doit être utilisé pour indiquer la fonctionnalité similaire. Il est conseillé d’exposer les identificateurs, ainsi que les nouveaux wrappers de propriété CLR, pour les propriétés de dépendance qui sont ajoutées aux types à l’aide de AddOwner .

La AddOwner méthodologie recommandée ci-dessus est utilisée lors de la création d’API déclarées dans WPF. Par exemple, Border et Control définissent tous deux une BorderBrush propriété de dépendance, qui ont des fonctionnalités similaires. Control définit sa BorderBrush propriété sur le système de propriétés en appelant AddOwner sur le propriétaire d’origine Border et son BorderBrushProperty identificateur de propriété de dépendance inscrit. La AddOwner valeur de retour est ensuite utilisée pour établir un DependencyProperty champ statique ( BorderBrushProperty ) pour cette propriété sur le propriétaire ajouté, et un BorderBrush Wrapper de propriété est également déclaré.

L’identificateur de propriété de dépendance du propriétaire ajouté doit être utilisé pour les opérations telles que GetValue . Toutefois, les opérations spécifiques au type qui impliquent des types ou des instances de la classe qui a été ajoutée en tant que propriétaire avec des métadonnées différentes renverront toujours les résultats attendus même si l’identificateur de propriété de dépendance d’origine (pas le propriétaire ajouté) est spécifié dans les appels aux méthodes telles que GetValue ou GetMetadata . Les métadonnées pour le propriétaire ajouté sont perpétuées par l' AddOwner appel lui-même, qui n’est pas nécessairement référencé exclusivement par le champ d’identificateur de classe propriétaire d’ajout. Néanmoins, il est recommandé d’exposer l’identificateur, ainsi que les nouveaux wrappers de propriété CLR, pour les propriétés de dépendance ajoutées aux types à l’aide de AddOwner , car cela ne permet pas de créer une disparité entre les représentations CLR et XAML de vos propriétés.

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 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 remplaceront les caractéristiques des métadonnées de base. Certaines caractéristiques, telles que DefaultValue , sont remplacées si elles sont spécifiées dans les nouvelles métadonnées. D’autres, tels que PropertyChangedCallback , sont combinés. Au final, le comportement de fusion dépend du type de métadonnées de propriété utilisé pour la substitution, donc 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é d’infrastructure.

S’applique à