Partage via


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 dans un type.

Surcharges

Nom Description
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 qui a déjà été inscrite, fournissant des métadonnées de propriété de dépendance pour 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 d’origine DependencyProperty qui identifie la propriété de dépendance. Cet identificateur doit être exposé par la classe d’ajout en tant que public static readonly champ.

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 il est utilisé pour ajouter des propriétés de dépendance à des 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 un accès général aux membres-table à 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 initialement cette propriété de dépendance.

Cette signature n’autorise pas la spécification 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 dont cette propriété est 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 fichier PropertyMetadata sont définies nullsur . Utilisez la AddOwner(Type, PropertyMetadata) signature si vous souhaitez fournir des métadonnées pour la version de la propriété de dépendance, comme ajouté 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és par rapport à la propriété de dépendance, en particulier lorsqu’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, et également pour déclarer des wrappers de propriétés CLR, pour les propriétés de dépendance 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 exemple, les deux Border et Control définissent 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 identifer 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 qui a déjà été inscrite, fournissant des métadonnées de propriété de dépendance pour 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 d’origine DependencyProperty qui identifie la propriété de dépendance. Cet identificateur doit être exposé par la classe d’ajout en tant que public static readonly champ.

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 lorsqu’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 les fonctionnalités similaires. 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 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 exemple, les deux Border et Control définissent 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 son identifer de propriété de dépendance inscrite BorderBrushProperty . 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 les opérations telles que GetValue. Toutefois, les opérations spécifiques au type impliquant des types ou des instances de la classe que nous allons ajouter en tant que propriétaire avec différentes métadonnées retourneront toujours les résultats attendus. Cela est vrai même si l’identificateur de propriété de dépendance d’origine (et non 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ées exclusivement par le champ d’identificateur de classe propriétaire. 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 qui sont ajoutées aux types à l’aide AddOwnerde , car l’échec 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 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, comme 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 de propriété framework.

S’applique à