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

DependencyProperty

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î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à).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 RegisterAttached méthode, les métadonnées par défaut sont les mêmes que celles créées lors de l' RegisterAttached appel à.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' 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 .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 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.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 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 .You should use the DependencyProperty return value of the AddOwner method to define the dependency property identifier, and also to declare CLR property wrappers, for dependency properties that are added to types using 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.The AddOwner methodology recommended above is used when creating the dependency properties that are declared within WPF. Par exemple, Border et Control définissent tous deux 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 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.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 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é.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.

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.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

DependencyProperty

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 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 .It is good practice to expose the identifiers, as well as new CLR property wrappers, for dependency properties that are added to types using AddOwner.

La AddOwner méthodologie recommandée ci-dessus est utilisée lors de la création d’API déclarées dans WPF.The AddOwner methodology recommended above is used when creating APIs declared within WPF. Par exemple, Border et Control définissent tous deux 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 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.Control defines its BorderBrush property to the property system by calling AddOwner on original owner Border and its registered BorderBrushProperty dependency property identifer. 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é.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' 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.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é 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.Nevertheless, it is good practice to expose the identifier, as well as new CLR property wrappers, for dependency properties that are added to types using AddOwner, because failing to do so creates disparity between the CLR and XAML 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, tels 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 les propriétés de dépendance WPF.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 WPF 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 à