DependencyProperty.RegisterAttachedReadOnly DependencyProperty.RegisterAttachedReadOnly DependencyProperty.RegisterAttachedReadOnly DependencyProperty.RegisterAttachedReadOnly Method

Definición

Registra una propiedad adjunta de solo lectura.Registers a read-only attached property.

Sobrecargas

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata) RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata) RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata) RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Registra una propiedad adjunta de solo lectura, con el tipo de propiedad, el tipo de propietario y los metadatos de propiedad especificados.Registers a read-only attached property, with the specified property type, owner type, and property metadata.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una propiedad adjunta de solo lectura, con el tipo de propiedad, el tipo de propietario, los metadatos de propiedad y una devolución de llamada de validación especificados.Registers a read-only attached property, with the specified property type, owner type, property metadata, and a validation callback.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata) RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata) RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata) RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Registra una propiedad adjunta de solo lectura, con el tipo de propiedad, el tipo de propietario y los metadatos de propiedad especificados.Registers a read-only attached property, with the specified property type, owner type, and property metadata.

public:
 static System::Windows::DependencyPropertyKey ^ RegisterAttachedReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata);
public static System.Windows.DependencyPropertyKey RegisterAttachedReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata);
static member RegisterAttachedReadOnly : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterAttachedReadOnly (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata) As DependencyPropertyKey

Parámetros

name
String String String String

Nombre de la propiedad de dependencia que se va a registrar.The name of the dependency property to register.

propertyType
Type Type Type Type

Tipo de la propiedad.The type of the property.

ownerType
Type Type Type Type

Tipo de propietario que registra la propiedad de dependencia.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata PropertyMetadata PropertyMetadata PropertyMetadata

Metadatos de propiedad de la propiedad de dependencia.Property metadata for the dependency property.

Devoluciones

Clave de propiedad de dependencia que debe usarse para establecer el valor de un campo estático de solo lectura en la clase, que se usa para hacer referencia a la propiedad de dependencia más tarde.A dependency property key that should be used to set the value of a static read-only field in your class, which is then used to reference the dependency property later.

Comentarios

Este método devuelve el tipo DependencyPropertyKey, mientras RegisterAttached que devuelve el DependencyPropertytipo.This method returns the type DependencyPropertyKey, whereas RegisterAttached returns the type DependencyProperty. Normalmente, las claves que representan propiedades de solo lectura no se hacen públicas, ya que las claves se pueden usar para establecer el valor de la propiedad SetValue(DependencyPropertyKey, Object)de dependencia mediante una llamada a.Typically, the keys that represent read-only properties are not made public, because the keys can be used to set the dependency property value by calling SetValue(DependencyPropertyKey, Object). El diseño de las clases afectará a sus requisitos, pero por lo general se recomienda limitar el acceso y DependencyPropertyKey la visibilidad de cualquiera a las partes del código necesarias para establecer esa propiedad de dependencia como parte de la lógica de la aplicación o la clase.Your class design will affect your requirements, but it is generally recommended to limit the access and visibility of any DependencyPropertyKey to only those parts of your code that are necessary to set that dependency property as part of class or application logic. También se recomienda que exponga un identificador de propiedad de dependencia para la propiedad de dependencia de solo lectura, exponiendo el valor de DependencyPropertyKey.DependencyProperty como un public static readonly campo en la clase.It is also recommended that you expose a dependency property identifier for the read-only dependency property, by exposing the value of DependencyPropertyKey.DependencyProperty as a public static readonly field on your class.

Las propiedades adjuntas de solo lectura son un escenario poco frecuente, porque el escenario principal de una propiedad adjunta XAMLXAMLes su uso en.Read-only attached properties are a rare scenario, because the primary scenario for an attached property is its use in XAMLXAML. Sin un establecedor público, no se puede establecer una propiedad XAMLXAML adjunta en la sintaxis.Without a public setter, an attached property cannot be set in XAMLXAML syntax.

Para obtener más información sobre el registro de propiedades DependencyPropertyde dependencia, vea.For more information on dependency property registration, see DependencyProperty.

Usar RegisterAttached para las propiedades de dependencia de herencia de valoresUse RegisterAttached for Value-inheriting Dependency Properties

Un escenario concreto para registrar una propiedad de dependencia como adjunta es admitir la herencia de valores de propiedad.One particular scenario for registering a dependency property as attached is to support property value inheritance. Debe registrar las propiedades de dependencia de herencia de valores RegisterAttached con incluso si la clase define los descriptores de acceso del contenedor de propiedades que exponen la propiedad de dependencia, e incluso si no desea exponer los métodos estáticos get * y set * para proporcionar un valor asociado true. los descriptores de acceso de la propiedad admiten.You should register value-inheriting dependency properties with RegisterAttached even if the class defines property wrapper accessors that expose the dependency property, and even if you do not intend to expose Get* and Set* static methods to provide true attached property support accessors. Aunque puede parecer que la herencia de valores de propiedad funciona para las propiedades de dependencia no asociadas, el comportamiento de la herencia de una propiedad no adjunta a través de ciertos límites de elementos en el árbol en tiempo de ejecución no está definido.Although property value inheritance might appear to work for nonattached dependency properties, the inheritance behavior for a nonattached property through certain element boundaries in the runtime tree is undefined. Al registrar la propiedad como adjunta, la propiedad adjunta se convierte en una propiedad global en el sistema de propiedades y se garantiza que la herencia de valores de propiedad funciona en todos los límites de un árbol de elementos.Registering the property as attached effectively makes the attached property a global property to the property system, and assures that property value inheritance works across all boundaries in an element tree. Utilice RegisterAttached siempre para registrar propiedades en las que Inherits especifique en los metadatos.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Para más información, vea Herencia de valores de propiedad.For more information, see Property Value Inheritance.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una propiedad adjunta de solo lectura, con el tipo de propiedad, el tipo de propietario, los metadatos de propiedad y una devolución de llamada de validación especificados.Registers a read-only attached property, with the specified property type, owner type, property metadata, and a validation callback.

public:
 static System::Windows::DependencyPropertyKey ^ RegisterAttachedReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyPropertyKey RegisterAttachedReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterAttachedReadOnly : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyPropertyKey

Parámetros

name
String String String String

Nombre de la propiedad de dependencia que se va a registrar.The name of the dependency property to register.

propertyType
Type Type Type Type

Tipo de la propiedad.The type of the property.

ownerType
Type Type Type Type

Tipo de propietario que registra la propiedad de dependencia.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata PropertyMetadata PropertyMetadata PropertyMetadata

Metadatos de propiedad de la propiedad de dependencia.Property metadata for the dependency property.

validateValueCallback
ValidateValueCallback ValidateValueCallback ValidateValueCallback ValidateValueCallback

Referencia a una devolución de llamada creada por el usuario que debe realizar cualquier validación personalizada del valor de la propiedad de dependencia además de la validación habitual de tipo.A reference to a user-created callback that should perform any custom validation of the dependency property value beyond typical type validation.

Devoluciones

Clave de propiedad de dependencia que debe usarse para establecer el valor de un campo estático de solo lectura en la clase, que se usa para hacer referencia a la propiedad de dependencia.A dependency property key that should be used to set the value of a static read-only field in your class, which is then used to reference the dependency property.

Comentarios

Este método devuelve el tipo DependencyPropertyKey, mientras RegisterAttached que devuelve el DependencyPropertytipo.This method returns the type DependencyPropertyKey, whereas RegisterAttached returns the type DependencyProperty. Normalmente, las claves que representan el tipo DependencyProperty.Typically, the keys that represent the type DependencyProperty. Normalmente, las claves que representan propiedades de solo lectura no se hacen públicas, ya que las claves se pueden usar para establecer el valor de la propiedad SetValue(DependencyPropertyKey, Object)de dependencia mediante una llamada a.Typically, the keys that represent read-only properties are not made public, because the keys can be used to set the dependency property value by calling SetValue(DependencyPropertyKey, Object). El diseño de las clases afectará a sus requisitos, pero por lo general se recomienda limitar el acceso y DependencyPropertyKey la visibilidad de cualquiera a las partes del código necesarias para establecer esa propiedad de dependencia como parte de la lógica de la aplicación o la clase.Your class design will affect your requirements, but it is generally recommended to limit the access and visibility of any DependencyPropertyKey to only those parts of your code that are necessary to set that dependency property as part of class or application logic. También se recomienda que exponga un identificador de propiedad de dependencia para la propiedad de dependencia de solo lectura, exponiendo el valor de DependencyPropertyKey.DependencyProperty como un public static readonly campo en la clase.It is also recommended that you expose a dependency property identifier for the read-only dependency property, by exposing the value of DependencyPropertyKey.DependencyProperty as a public static readonly field on your class.

Las propiedades adjuntas de solo lectura son un escenario poco frecuente, porque el escenario principal de una propiedad adjunta XAMLXAMLes su uso en.Read-only attached properties are a rare scenario, because the primary scenario for an attached property is its use in XAMLXAML. Sin un establecedor público, no se puede establecer una propiedad XAMLXAML adjunta en la sintaxis.Without a public setter, an attached property cannot be set in XAMLXAML syntax.

Para obtener más información sobre el registro de propiedades DependencyPropertyde dependencia, vea.For more information on dependency property registration, see DependencyProperty.

Usar RegisterAttached para las propiedades de dependencia de herencia de valoresUse RegisterAttached for Value-inheriting Dependency Properties

Un escenario concreto para registrar una propiedad de dependencia como adjunta en lugar de Register es admitir la herencia de valores de propiedad.One particular scenario for registering a dependency property as attached instead of Register is to support property value inheritance. Debe registrar las propiedades de dependencia de herencia de valores RegisterAttached con incluso si la clase define los descriptores de acceso del contenedor de propiedades que exponen la propiedad de dependencia, e incluso si no desea exponer los métodos estáticos get * y set * para proporcionar un valor asociado true. los descriptores de acceso de la propiedad admiten.You should register value-inheriting dependency properties with RegisterAttached even if the class defines property wrapper accessors that expose the dependency property, and even if you do not intend to expose Get* and Set* static methods to provide true attached property support accessors. Aunque puede parecer que la herencia de valores de propiedad funciona para las propiedades de dependencia no asociadas, el comportamiento de la herencia de una propiedad no adjunta a través de ciertos límites de elementos en el árbol en tiempo de ejecución no está definido.Although property value inheritance might appear to work for nonattached dependency properties, the inheritance behavior for a nonattached property through certain element boundaries in the runtime tree is undefined. Al registrar la propiedad como adjunta, la propiedad adjunta se convierte en una propiedad global en el sistema de propiedades y se garantiza que la herencia de valores de propiedad funciona en todos los límites de un árbol de elementos.Registering the property as attached effectively makes the attached property a global property to the property system, and assures that property value inheritance works across all boundaries in an element tree. Utilice RegisterAttached siempre para registrar propiedades en las que Inherits especifique en los metadatos.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Para más información, vea Herencia de valores de propiedad.For more information, see Property Value Inheritance.

Se aplica a