DependencyProperty.RegisterAttachedReadOnly Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Registra una propiedad adjunta de solo lectura.
Sobrecargas
| Nombre | Description |
|---|---|
| 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. |
| RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) |
Registra una propiedad adjunta de solo lectura, con el tipo de propiedad especificado, el tipo de propietario, los metadatos de propiedad y una devolución de llamada de validación. |
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.
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
Nombre de la propiedad de dependencia que se va a registrar.
- propertyType
- Type
Tipo de la propiedad.
- ownerType
- Type
Tipo de propietario que registra la propiedad de dependencia.
- defaultMetadata
- PropertyMetadata
Metadatos de propiedad para la propiedad de dependencia.
Devoluciones
Clave de propiedad de dependencia que se debe usar para establecer el valor de un campo estático de solo lectura en la clase, que luego se usa para hacer referencia a la propiedad de dependencia más adelante.
Comentarios
Este método devuelve el tipo DependencyPropertyKey, mientras que RegisterAttached devuelve el tipo 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 de dependencia llamando a SetValue(DependencyPropertyKey, Object). El diseño de clase afectará a los requisitos, pero generalmente se recomienda limitar el acceso y la visibilidad de cualquiera DependencyPropertyKey a solo las partes del código necesarias para establecer esa propiedad de dependencia como parte de la lógica de la clase o de la aplicación. También se recomienda exponer 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.
Las propiedades adjuntas de solo lectura son un escenario poco frecuente, ya que el escenario principal de una propiedad adjunta es su uso en XAML. Sin un establecedor público, no se puede establecer una propiedad adjunta en la sintaxis XAML.
Para obtener más información sobre el registro de propiedades de dependencia, vea DependencyProperty.
Uso de RegisterAttached para las propiedades de dependencia heredadas de valores
Un escenario concreto para registrar una propiedad de dependencia como adjunta es admitir la herencia de valores de propiedad. Debe registrar propiedades de dependencia heredadas de valor con RegisterAttached incluso si la clase define descriptores de acceso de contenedor de propiedades que exponen la propiedad de dependencia e incluso si no tiene intención de exponer métodos estáticos Get* y Set* para proporcionar descriptores de acceso de compatibilidad con propiedades adjuntas verdaderas. Aunque la herencia de valores de propiedad puede parecer funcionar para propiedades de dependencia no adjuntas, el comportamiento de herencia de una propiedad no adjunta a través de determinados límites de elementos en el árbol en tiempo de ejecución no está definido. Registrar la propiedad como adjunta hace que la propiedad adjunta sea una propiedad global en el sistema de propiedades y garantiza que la herencia de valores de propiedad funciona en todos los límites de un árbol de elementos. Siempre use RegisterAttached para registrar las propiedades donde especifique Inherits en los metadatos. Para obtener más información, vea Herencia de valores de propiedad.
Se aplica a
RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)
Registra una propiedad adjunta de solo lectura, con el tipo de propiedad especificado, el tipo de propietario, los metadatos de propiedad y una devolución de llamada de validación.
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
Public Shared Function RegisterAttachedReadOnly (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata, validateValueCallback As ValidateValueCallback) As DependencyPropertyKey
Parámetros
- name
- String
Nombre de la propiedad de dependencia que se va a registrar.
- propertyType
- Type
Tipo de la propiedad.
- ownerType
- Type
Tipo de propietario que registra la propiedad de dependencia.
- defaultMetadata
- PropertyMetadata
Metadatos de propiedad para la propiedad de dependencia.
- 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 más allá de la validación típica del tipo.
Devoluciones
Clave de propiedad de dependencia que se debe usar 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.
Comentarios
Este método devuelve el tipo DependencyPropertyKey, mientras que RegisterAttached devuelve el tipo DependencyProperty. Normalmente, las claves que representan el tipo 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 de dependencia llamando a SetValue(DependencyPropertyKey, Object). El diseño de clase afectará a los requisitos, pero generalmente se recomienda limitar el acceso y la visibilidad de cualquiera DependencyPropertyKey a solo las partes del código necesarias para establecer esa propiedad de dependencia como parte de la lógica de la clase o de la aplicación. También se recomienda exponer 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.
Las propiedades adjuntas de solo lectura son un escenario poco frecuente, ya que el escenario principal de una propiedad adjunta es su uso en XAML. Sin un establecedor público, no se puede establecer una propiedad adjunta en la sintaxis XAML.
Para obtener más información sobre el registro de propiedades de dependencia, vea DependencyProperty.
Uso de RegisterAttached para las propiedades de dependencia heredadas de valores
Un escenario concreto para registrar una propiedad de dependencia como adjunta en lugar de es admitir la herencia de valores de Register propiedad. Debe registrar propiedades de dependencia heredadas de valor con RegisterAttached incluso si la clase define descriptores de acceso de contenedor de propiedades que exponen la propiedad de dependencia e incluso si no tiene intención de exponer métodos estáticos Get* y Set* para proporcionar descriptores de acceso de compatibilidad con propiedades adjuntas verdaderas. Aunque la herencia de valores de propiedad puede parecer funcionar para propiedades de dependencia no adjuntas, el comportamiento de herencia de una propiedad no adjunta a través de determinados límites de elementos en el árbol en tiempo de ejecución no está definido. Registrar la propiedad como adjunta hace que la propiedad adjunta sea una propiedad global en el sistema de propiedades y garantiza que la herencia de valores de propiedad funciona en todos los límites de un árbol de elementos. Siempre use RegisterAttached para registrar las propiedades donde especifique Inherits en los metadatos. Para obtener más información, vea Herencia de valores de propiedad.