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

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 inscrit initialement cette propriété de dépendance particulière.

En règle générale, AddOwner est utilisé pour ajouter des propriétés de dépendance aux classes qui n’exposent pas déjà cette propriété de dépendance par le biais de l’héritage de classe managée (l’héritage de classe entraîne l’héritage des propriétés wrapper par la classe dérivée, et fournit donc déjà aux membres généraux un accès à la propriété de dépendance). 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 qui ont cette propriété définie. Si aucune métadonnées 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 identiques aux métadonnées créées lors RegisterAttached de l’appel. Sinon, l’objet PropertyMetadata 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 du PropertyMetadata est définie sur 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 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 des API système de propriété par rapport à la propriété de dépendance, en particulier dans la mesure où elle existe sur la classe propriétaire ajoutée. 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és CLR, pour les propriétés de dépendance qui sont ajoutées aux types à l’aide AddOwnerde .

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 instance, Border et Control définissez une BorderBrush propriété de dépendance, qui a des fonctionnalités similaires. Control définit sa BorderBrush propriété au système de propriétés en appelant AddOwner en fonction du propriétaire Border d’origine et de son identité de propriété de dépendance inscrite BorderBrushProperty . La AddOwner valeur de retour est ensuite utilisée pour établir un nouveau champ statique DependencyProperty (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

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 inscrit 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 dans la mesure où elle existe sur la classe propriétaire qui a été ajoutée. 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 recommandé d’exposer les identificateurs, ainsi que les nouveaux wrappers de propriétés CLR, pour les propriétés de dépendance qui sont ajoutées aux types à l’aide AddOwnerde .

La AddOwner méthodologie recommandée ci-dessus est utilisée lors de la création d’API déclarées dans WPF. Par instance, Border et Control définissez une BorderBrush propriété de dépendance, qui a des fonctionnalités similaires. Control définit sa BorderBrush propriété au système de propriétés en appelant AddOwner le propriétaire Border d’origine et sa propriété de dépendance inscrite BorderBrushProperty identifer. La AddOwner valeur de retour est ensuite utilisée pour établir un champ statique DependencyProperty (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 des opérations telles que GetValue. Toutefois, les opérations spécifiques au type impliquant des types ou des instances de la classe que wer a ajoutées en tant que propriétaire avec des métadonnées différentes retournent toujours les résultats attendus. Cela est vrai même si l’identificateur de propriété de dépendance d’origine (et non celui du propriétaire ajouté) est spécifié dans les appels à des méthodes telles que GetValue ou GetMetadata. Les métadonnées du propriétaire ajouté sont perpétuées par l’appel AddOwner lui-même, pas nécessairement référencés exclusivement par le champ d’identificateur de classe de propriétaire ajouté. Néanmoins, il est recommandé d’exposer l’identificateur, ainsi que de nouveaux wrappers de propriétés CLR, pour les propriétés de dépendance ajoutées aux types à l’aide AddOwnerde , car si vous ne le faites pas, cela crée 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 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 DefaultValue, sont remplacées si elles sont spécifiées dans les nouvelles métadonnées. D’autres, telles que PropertyChangedCallback, sont combinées. 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 des propriétés d’infrastructure.

S’applique à