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
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, el tipo de propietario, los metadatos de propiedad y una devolución de llamada de validación especificados. |
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 de la propiedad de dependencia.
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.
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 la 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.
Usar RegisterAttached para las propiedades de dependencia heredadas de valor
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 previsto 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 elemento en el árbol en tiempo de ejecución no está definido. El registro de 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. Use siempre RegisterAttached para registrar las propiedades donde especifique Inherits en los metadatos. Para 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, el tipo de propietario, los metadatos de propiedad y una devolución de llamada de validación especificados.
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 de 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 además de la validación habitual de tipo.
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.
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 la 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.
Usar RegisterAttached para las propiedades de dependencia heredadas de valor
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 previsto 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 elemento en el árbol en tiempo de ejecución no está definido. El registro de 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. Use siempre RegisterAttached para registrar las propiedades donde especifique Inherits en los metadatos. Para más información, vea Herencia de valores de propiedad.