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.Adds another type as an owner of a dependency property that has already been registered to a 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.Adds another type as an owner of a dependency property that has already been registered.

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.Adds another type as an owner of a dependency property that has already been registered, providing dependency property metadata for the dependency property as it will exist on the provided owner type.

AddOwner(Type)

Ajoute un autre type en tant que propriétaire d’une propriété de dépendance qui a déjà été inscrite.Adds another type as an owner of a dependency property that has already been registered.

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.The type to add as an owner of this dependency property.

Retours

Référence à l’identificateur DependencyProperty d’origine qui identifie la propriété de dépendance.A reference to the original DependencyProperty identifier that identifies the dependency property. Cet identificateur doit être exposé par la classe d’ajout en tant que champ public static readonly.This identifier should be exposed by the adding class as a public static readonly field.

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.This method enables the property system to recognize a dependency property on a type that did not register that particular dependency property initially.

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înerait l’héritage des propriétés de wrapper par la classe dérivée, et par conséquent fournir des membres généraux-accès de table à la propriété de dépendance déjà).Typically, AddOwner is used to add dependency properties to classes that do not already expose that dependency property through managed class inheritance (class inheritance would cause the wrapper properties to be inherited by the derived class, and thus would provide general members-table access to the dependency property already). 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.AddOwner enables the property system to recognize a dependency property on a type that did not register that dependency property initially.

Cette signature ne permet pas de spécifier des métadonnées.This signature does not allow for specifying metadata. 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.When you use this method, the metadata is automatically generated for the new DependencyProperty and its owner type. 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.The auto-generated metadata is the result of the merged metadata from all of the base types that have this property defined. Si aucune métadonnée fusionnée n’est disponible, les métadonnées par défaut de la propriété sont utilisées.If no merged metadata is available, then the default metadata for the property is used. Si la propriété est inscrite à l’aide de la méthode RegisterAttached, les métadonnées par défaut sont identiques aux métadonnées qui sont créées lors de l’appel de RegisterAttached.If the property is registered by using the RegisterAttached method, then the default metadata is the same as the metadata that is created when RegisterAttached was called. Dans le cas contraire, l’objet PropertyMetadata est créé avec la propriété DefaultValue définie sur la valeur par défaut du type de propriété et toutes les autres propriétés de la PropertyMetadata sont définies sur null.Otherwise, the PropertyMetadata object is created with the DefaultValue property set to the property type's default and all other properties of the PropertyMetadata is set to null. Utilisez la signature AddOwner(Type, PropertyMetadata) 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.Use the AddOwner(Type, PropertyMetadata) signature if you want to provide metadata for the version of the dependency property as added to the provided type.

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.The return value of this method is typically used to declare and expose the dependency property by storing a dependency property identifier. 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.The identifier provides access to the dependency property if you want to call property system APIs against the dependency property, particularly as it exists on the adding owner class. 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.The same property name for both original owner and added owner should be used to indicate the similar functionality. Vous devez utiliser la DependencyProperty valeur de retour de la méthode AddOwner pour définir l’identificateur de propriété de dépendance, ainsi que pour déclarer des wrappers de propriété CLRCLR, pour les propriétés de dépendance qui sont ajoutées aux types à l’aide de AddOwner.You should use the DependencyProperty return value of the AddOwner method to define the dependency property identifier, and also to declare CLRCLR property wrappers, for dependency properties that are added to types using AddOwner.

La méthodologie AddOwner recommandée ci-dessus est utilisée lors de la création des propriétés de dépendance déclarées dans WPFWPF.The AddOwner methodology recommended above is used when creating the dependency properties that are declared within WPFWPF. Par exemple, les Border et Control définir une BorderBrush propriété de dépendance, qui ont des fonctionnalités similaires.For instance, both Border and Control define a BorderBrush dependency property, which have similar functionality. Control définit sa propriété BorderBrush dans le système de propriétés en appelant AddOwner en fonction du Border propriétaire d’origine et de son identificateur de propriété de dépendance BorderBrushProperty inscrit.Control defines its BorderBrush property to the property system by calling AddOwner based on the original owner Border and its registered BorderBrushProperty dependency property identifer. La valeur de retour de AddOwner est ensuite utilisée pour établir un nouveau champ de DependencyProperty statique (BorderBrushProperty) pour cette propriété sur le propriétaire ajouté, et un wrapper de propriété BorderBrush est également déclaré.The AddOwner return value is then used to establish a new static DependencyProperty field (BorderBrushProperty) for that property on the added owner, and a BorderBrush property wrapper is also declared.

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.Adds another type as an owner of a dependency property that has already been registered, providing dependency property metadata for the dependency property as it will exist on the provided owner type.

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.The type to add as owner of this dependency property.

typeMetadata
PropertyMetadata

Métadonnées qui qualifient la propriété de dépendance telle qu’elle existe sur le type fourni.The metadata that qualifies the dependency property as it exists on the provided type.

Retours

Référence à l’identificateur DependencyProperty d’origine qui identifie la propriété de dépendance.A reference to the original DependencyProperty identifier that identifies the dependency property. Cet identificateur doit être exposé par la classe d’ajout en tant que champ public static readonly.This identifier should be exposed by the adding class as a public static readonly field.

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.This method enables the property system to recognize a dependency property on a type that did not register that particular dependency property initially.

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.The return value of this method is used to declare and expose the dependency property, particularly as it exists on the adding owner class. 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.Generally, the same property name for both original owner and added owner should be used to indicate the similar functionality. Il est recommandé d’exposer les identificateurs, ainsi que les nouveaux wrappers de propriété CLRCLR, pour les propriétés de dépendance ajoutées aux types à l’aide de AddOwner.It is good practice to expose the identifiers, as well as new CLRCLR property wrappers, for dependency properties that are added to types using AddOwner.

La méthodologie AddOwner recommandée ci-dessus est utilisée lors de la création d’API déclarées dans WPFWPF.The AddOwner methodology recommended above is used when creating APIs declared within WPFWPF. Par exemple, les Border et Control définir une BorderBrush propriété de dépendance, qui ont des fonctionnalités similaires.For instance, both Border and Control define a BorderBrush dependency property, which have similar functionality. Control définit sa propriété BorderBrush dans le système de propriétés en appelant AddOwner sur le Border propriétaire d’origine et son identificateur de propriété de dépendance BorderBrushProperty inscrit.Control defines its BorderBrush property to the property system by calling AddOwner on original owner Border and its registered BorderBrushProperty dependency property identifer. La valeur de retour AddOwner est ensuite utilisée pour établir un champ de DependencyProperty statique (BorderBrushProperty) pour cette propriété sur le propriétaire ajouté, et un wrapper de propriété BorderBrush est également déclaré.The AddOwner return value is then used to establish a static DependencyProperty field (BorderBrushProperty) for that property on the added owner, and a BorderBrush property wrapper is also declared.

L’identificateur de propriété de dépendance du propriétaire ajouté doit être utilisé pour les opérations telles que GetValue.The added owner's dependency property identifier should be used for operations such as 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.However, type-specific operations involving either types or instances of the class that was added as owner with different metadata will still return the expected results even if the original (not the added owner's) dependency property identifier is specified in calls to methods such as GetValue or GetMetadata. Les métadonnées pour le propriétaire ajouté sont perpétuées par l’appel de AddOwner lui-même, qui n’est pas nécessairement référencé exclusivement par le champ d’identificateur de classe propriétaire d’ajout.The metadata for the added owner is perpetuated by the AddOwner call itself, not necessarily referenced exclusively by the adding owner class identifier field. Néanmoins, il est recommandé d’exposer l’identificateur, ainsi que les nouveaux wrappers de propriété CLRCLR, 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 le CLRCLR et XAMLXAML représentations de vos propriétés.Nevertheless, it is good practice to expose the identifier, as well as new CLRCLR property wrappers, for dependency properties that are added to types using AddOwner, because failing to do so creates disparity between the CLRCLR and XAMLXAML representations of your properties.

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.The supplied metadata is merged with the property metadata for the dependency property as it exists on the base owner. Toutes les caractéristiques spécifiées dans les métadonnées de base d’origine sont conservées.Any characteristics that were specified in the original base metadata will persist. 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.Only those characteristics that were specifically changed in the new metadata will override the characteristics of the base metadata. Certaines caractéristiques, telles que DefaultValue, sont remplacées si elles sont spécifiées dans les nouvelles métadonnées.Some characteristics, such as DefaultValue, are replaced if they are specified in the new metadata. D’autres, telles que PropertyChangedCallback, sont combinés.Others, such as PropertyChangedCallback, are combined. 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 WPFWPF propriétés de dépendance.Ultimately, the merge behavior depends on the property metadata type being used for the override, so the behavior described here is for the existing property metadata classes used by WPFWPF dependency properties. Pour plus d’informations, consultez métadonnées de propriété de dépendance et métadonnées de propriété d’infrastructure.For details, see Dependency Property Metadata and Framework Property Metadata.

S’applique à