DependencyProperty.AddOwner DependencyProperty.AddOwner DependencyProperty.AddOwner DependencyProperty.AddOwner Method

Definición

Agrega otro tipo como propietario de una propiedad de dependencia que ya está registrada en un tipo.Adds another type as an owner of a dependency property that has already been registered to a type.

Sobrecargas

AddOwner(Type) AddOwner(Type) AddOwner(Type) AddOwner(Type)

Agrega otro tipo como propietario de una propiedad de dependencia que ya está registrada.Adds another type as an owner of a dependency property that has already been registered.

AddOwner(Type, PropertyMetadata) AddOwner(Type, PropertyMetadata) AddOwner(Type, PropertyMetadata) AddOwner(Type, PropertyMetadata)

Agrega otro tipo como propietario de una propiedad de dependencia que ya se ha registrado y ofrece los metadatos de propiedad de dependencia para la propiedad de dependencia como se verá en el tipo de propietario proporcionado.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) AddOwner(Type) AddOwner(Type) AddOwner(Type)

Agrega otro tipo como propietario de una propiedad de dependencia que ya está registrada.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

Parámetros

ownerType
Type Type Type Type

Tipo que se va a agregar como propietario de esta propiedad de dependencia.The type to add as an owner of this dependency property.

Devoluciones

Referencia al identificador DependencyProperty original que identifica la propiedad de dependencia.A reference to the original DependencyProperty identifier that identifies the dependency property. Este identificador debe exponerse mediante la adición de la clase como un campo public static readonly.This identifier should be exposed by the adding class as a public static readonly field.

Comentarios

Este método permite que el sistema de propiedades para que reconozca una propiedad de dependencia en un tipo que no se registró inicialmente esa propiedad de dependencia determinado.This method enables the property system to recognize a dependency property on a type that did not register that particular dependency property initially.

Por lo general, AddOwner se usa para agregar las propiedades de dependencia para las clases que ya no exponen esa propiedad de dependencia a través de la herencia de clases administradas (herencia de clases haría que las propiedades de contenedor que se va a heredar la clase derivada y, por tanto, proporcionaría acceso general de la tabla de miembros para la propiedad de dependencia ya).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 permite que el sistema de propiedades para que reconozca una propiedad de dependencia en un tipo que no se registró inicialmente esa propiedad de dependencia.AddOwner enables the property system to recognize a dependency property on a type that did not register that dependency property initially.

Esta firma no permite especificar los metadatos.This signature does not allow for specifying metadata. Cuando se usa este método, los metadatos se generan automáticamente para el nuevo DependencyProperty y su tipo de propietario.When you use this method, the metadata is automatically generated for the new DependencyProperty and its owner type. Los metadatos generados automáticamente están el resultado de los metadatos combinados de todos los tipos bases que tienen esta propiedad definida.The auto-generated metadata is the result of the merged metadata from all of the base types that have this property defined. Si no hay metadatos combinados están disponible, se usan los metadatos predeterminados para la propiedad.If no merged metadata is available, then the default metadata for the property is used. Si la propiedad se registra mediante el RegisterAttached es igual que los metadatos que se crean al método y, a continuación, los metadatos predeterminados RegisterAttached llamó.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. En caso contrario, el PropertyMetadata objeto se crea con el DefaultValue propiedad establecida en el valor predeterminado del tipo de propiedad y todas las demás propiedades de la PropertyMetadata está establecido en 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. Use el AddOwner(Type, PropertyMetadata) firma si desea proporcionar metadatos para la versión de la propiedad de dependencia tal como se agregan al tipo proporcionado.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.

El valor devuelto de este método se utiliza normalmente para declarar y exponer la propiedad de dependencia mediante el almacenamiento de un identificador de propiedad de dependencia.The return value of this method is typically used to declare and expose the dependency property by storing a dependency property identifier. El identificador proporciona acceso a la propiedad de dependencia, si desea llamar al sistema de propiedades APIAPIs frente a la propiedad de dependencia, especialmente porque existe en la clase de propietario de la adición.The identifier provides access to the dependency property if you want to call property system APIAPIs against the dependency property, particularly as it exists on the adding owner class. El mismo nombre de propiedad para el propietario original y propietario agregado se debe usar para indicar una funcionalidad similar.The same property name for both original owner and added owner should be used to indicate the similar functionality. Debe usar el DependencyProperty devolver el valor de la AddOwner método para definir el identificador de propiedad de dependencia y también para declarar CLRCLR contenedores de propiedad, para las propiedades de dependencia que se agregan a los tipos mediante 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.

El AddOwner se usa la metodología recomendada anteriormente al crear las propiedades de dependencia que se declaran dentro de WPFWPF.The AddOwner methodology recommended above is used when creating the dependency properties that are declared within WPFWPF. Por ejemplo, ambos Border y Control definir un BorderBrush propiedad de dependencia, que tienen una funcionalidad similar.For instance, both Border and Control define a BorderBrush dependency property, which have similar functionality. Control define su BorderBrush propiedad al sistema de propiedades mediante una llamada a AddOwner basándose en el propietario original Border y su registrados BorderBrushProperty identificador de propiedad de dependencia.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. El AddOwner devolver valor, a continuación, se usa para establecer un nuevo estático DependencyProperty campo (BorderBrushProperty) para esa propiedad en el propietario agregado y un BorderBrush también se declara el contenedor de propiedad.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) AddOwner(Type, PropertyMetadata) AddOwner(Type, PropertyMetadata) AddOwner(Type, PropertyMetadata)

Agrega otro tipo como propietario de una propiedad de dependencia que ya se ha registrado y ofrece los metadatos de propiedad de dependencia para la propiedad de dependencia como se verá en el tipo de propietario proporcionado.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

Parámetros

ownerType
Type Type Type Type

Tipo que se va a agregar como propietario de esta propiedad de dependencia.The type to add as owner of this dependency property.

typeMetadata
PropertyMetadata PropertyMetadata PropertyMetadata PropertyMetadata

Metadatos que califican la propiedad de dependencia tal como existe en el tipo proporcionado.The metadata that qualifies the dependency property as it exists on the provided type.

Devoluciones

Referencia al identificador DependencyProperty original que identifica la propiedad de dependencia.A reference to the original DependencyProperty identifier that identifies the dependency property. Este identificador debe exponerse mediante la adición de la clase como un campo public static readonly.This identifier should be exposed by the adding class as a public static readonly field.

Comentarios

Este método permite que el sistema de propiedades para que reconozca una propiedad de dependencia en un tipo que no se registró inicialmente esa propiedad de dependencia determinado.This method enables the property system to recognize a dependency property on a type that did not register that particular dependency property initially.

El valor devuelto de este método se utiliza para declarar y exponer la propiedad de dependencia, especialmente, tal como existe en la clase de propietario de la adición.The return value of this method is used to declare and expose the dependency property, particularly as it exists on the adding owner class. Por lo general, se debe usar el mismo nombre de propiedad para el propietario original y propietario agregado para indicar una funcionalidad similar.Generally, the same property name for both original owner and added owner should be used to indicate the similar functionality. Es recomendable exponer los identificadores, así como nuevos CLRCLR contenedores de propiedad, para las propiedades de dependencia que se agregan a los tipos mediante 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.

El AddOwner se usa la metodología recomendada anteriormente al crear APIAPIs declarados dentro de WPFWPF.The AddOwner methodology recommended above is used when creating APIAPIs declared within WPFWPF. Por ejemplo, ambos Border y Control definir un BorderBrush propiedad de dependencia, que tienen una funcionalidad similar.For instance, both Border and Control define a BorderBrush dependency property, which have similar functionality. Control define su BorderBrush propiedad al sistema de propiedades mediante una llamada a AddOwner propietario original Border y su registrados BorderBrushProperty identificador de propiedad de dependencia.Control defines its BorderBrush property to the property system by calling AddOwner on original owner Border and its registered BorderBrushProperty dependency property identifer. El AddOwner devolver valor, a continuación, se usa para establecer una variable static DependencyProperty campo (BorderBrushProperty) para esa propiedad en el propietario agregado y un BorderBrush también se declara el contenedor de propiedad.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.

Identificador de propiedad de dependencia del propietario agregado se debe usar para operaciones tales como GetValue.The added owner's dependency property identifier should be used for operations such as GetValue. Sin embargo, operaciones específicas del tipo que implican tipos o instancias de la clase que se ha agregado como propietario con distintos metadatos seguirán devolverán la incluso si los resultados esperados original (no se ha agregado del propietario) se especifica el identificador de propiedad de dependencia en las llamadas a métodos como GetValue o 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. Los metadatos para el propietario agregado se perpetúan por la AddOwner llamar a sí mismo, no necesariamente hace referencia a exclusivamente el campo de identificador de clase de propietario de la adición.The metadata for the added owner is perpetuated by the AddOwner call itself, not necessarily referenced exclusively by the adding owner class identifier field. No obstante, es recomendable para exponer el identificador, así como nuevo CLRCLR contenedores de propiedad, para las propiedades de dependencia que se agregan a los tipos mediante AddOwner, porque de lo contrario, crea la disparidad entre el CLRCLR y XAMLXAML representaciones de sus propiedades.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.

Los metadatos proporcionados se combinan con los metadatos de propiedad para la propiedad de dependencia tal como existe en el propietario de la base.The supplied metadata is merged with the property metadata for the dependency property as it exists on the base owner. Se conservará cualquier característica que se especificaron en los metadatos base original.Any characteristics that were specified in the original base metadata will persist. Sólo las características que se cambiaron específicamente en los nuevos metadatos invalidarán las características de los metadatos base.Only those characteristics that were specifically changed in the new metadata will override the characteristics of the base metadata. Algunas características, tales como DefaultValue, se reemplazan si se especifican en los nuevos metadatos.Some characteristics, such as DefaultValue, are replaced if they are specified in the new metadata. Otros, como PropertyChangedCallback, se combinan.Others, such as PropertyChangedCallback, are combined. En última instancia, el comportamiento de combinación depende de que se usa para la invalidación, por lo que es el comportamiento descrito aquí para las clases de metadatos de propiedad existentes utilizadas por el tipo de metadatos de propiedad WPFWPF las propiedades de dependencia.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. Para obtener más información, consulte los metadatos de propiedad de dependencia y metadatos de propiedad de marco de trabajo.For details, see Dependency Property Metadata and Framework Property Metadata.

Se aplica a