DependencyProperty.RegisterReadOnly DependencyProperty.RegisterReadOnly DependencyProperty.RegisterReadOnly DependencyProperty.RegisterReadOnly Method

Definición

Registra una propiedad de dependencia como una propiedad de dependencia de solo lectura.Registers a dependency property as a read-only dependency property.

Sobrecargas

RegisterReadOnly(String, Type, Type, PropertyMetadata) RegisterReadOnly(String, Type, Type, PropertyMetadata) RegisterReadOnly(String, Type, Type, PropertyMetadata) RegisterReadOnly(String, Type, Type, PropertyMetadata)

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

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una propiedad de dependencia 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 dependency property, with the specified property type, owner type, property metadata, and a validation callback.

RegisterReadOnly(String, Type, Type, PropertyMetadata) RegisterReadOnly(String, Type, Type, PropertyMetadata) RegisterReadOnly(String, Type, Type, PropertyMetadata) RegisterReadOnly(String, Type, Type, PropertyMetadata)

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

public:
 static System::Windows::DependencyPropertyKey ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata);
public static System.Windows.DependencyPropertyKey RegisterReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata);
static member RegisterReadOnly : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterReadOnly (name As String, propertyType As Type, ownerType As Type, typeMetadata 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.

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

Ejemplos

En el ejemplo siguiente se registra un AquariumSize propiedad de dependencia como de solo lectura.The following example registers an AquariumSize dependency property as read-only. El ejemplo define AquariumSizeKey como una clave interna (para que las clases del ensamblado podrían invalidar metadatos) y expone el identificador de propiedad de dependencia basándose en esa clave como AquariumSizeProperty.The example defines AquariumSizeKey as an internal key (so that other classes in the assembly could override metadata) and exposes the dependency property identifier based on that key as AquariumSizeProperty. Además, se crea un contenedor para AquariumSize, con solo un descriptor de acceso get.Also, a wrapper is created for AquariumSize, with only a get accessor.

internal static readonly DependencyPropertyKey AquariumSizeKey = DependencyProperty.RegisterReadOnly(
  "AquariumSize",
  typeof(double),
  typeof(Aquarium),
  new PropertyMetadata(double.NaN)
);
public static readonly DependencyProperty AquariumSizeProperty =
  AquariumSizeKey.DependencyProperty;
public double AquariumSize
{
  get { return (double)GetValue(AquariumSizeProperty); }
}
Friend Shared ReadOnly AquariumSizeKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("AquariumSize", GetType(Double), GetType(Aquarium), New PropertyMetadata(Double.NaN))
Public Shared ReadOnly AquariumSizeProperty As DependencyProperty = AquariumSizeKey.DependencyProperty
Public ReadOnly Property AquariumSize() As Double
    Get
        Return CDbl(GetValue(AquariumSizeProperty))
    End Get
End Property

Comentarios

Este método devuelve el tipo DependencyPropertyKey, mientras que RegisterAttached devuelve el tipo DependencyProperty.This method returns the type DependencyPropertyKey, whereas RegisterAttached returns the type DependencyProperty. Normalmente, no se hacen públicas, las claves que representan las propiedades de solo lectura porque las claves se pueden usar para establecer el valor de propiedad de dependencia mediante una llamada a SetValue(DependencyPropertyKey, Object).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 clase afectará a sus requisitos, pero generalmente se recomienda limitar el acceso y la visibilidad de cualquier DependencyPropertyKey a sólo aquellas partes del código que son necesarias para establecer esa propiedad de dependencia como parte de la clase o una aplicación lógica.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 su 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 de dependencia de solo lectura son un escenario bastante típico ambos existente APIAPI y para escenarios de personalización, porque otros WPFWPF características pueden requerir una propiedad de dependencia incluso si esa propiedad no pretende ser configurable por autores de llamadas.Read-only dependency properties are a fairly typical scenario both in the existing APIAPI and for customization scenarios, because other WPFWPF features might require a dependency property even if that property is not intended to be settable by callers. Puede usar el valor de una propiedad de dependencia de solo lectura como base para otras operaciones del sistema de propiedades que toman una propiedad de dependencia, como basar un Trigger en la propiedad de dependencia en un estilo.You can use the value of a read-only dependency property as the basis for other property system operations that take a dependency property, such as basing a Trigger on the dependency property in a style.

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

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una propiedad de dependencia 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 dependency property, with the specified property type, owner type, property metadata, and a validation callback.

public:
 static System::Windows::DependencyPropertyKey ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyPropertyKey RegisterReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterReadOnly : 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.

typeMetadata
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 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 que RegisterAttached devuelve el tipo DependencyProperty.This method returns the type DependencyPropertyKey, whereas RegisterAttached returns the type DependencyProperty. Normalmente, no se hacen públicas, las claves que representan las propiedades de solo lectura porque las claves se pueden usar para establecer el valor de propiedad de dependencia mediante una llamada a SetValue(DependencyPropertyKey, Object).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 clase afectará a sus requisitos, pero generalmente se recomienda limitar el acceso y la visibilidad de cualquier DependencyPropertyKey a sólo aquellas partes del código que son necesarias para establecer esa propiedad de dependencia como parte de la clase o una aplicación lógica.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 su 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 de dependencia de solo lectura son un escenario bastante típico.Read-only dependency properties are a fairly typical scenario. Puede usar el valor de una propiedad de dependencia de solo lectura como base para otras operaciones del sistema de propiedades que toman una propiedad de dependencia, como basar un Trigger en la propiedad de dependencia en un estilo.You can use the value of a read-only dependency property as the basis for other property system operations that take a dependency property, such as basing a Trigger on the dependency property in a style.

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

Validación en una propiedad de dependencia de sólo lectura puede ser menos importante.Validation on a read-only dependency property might be less important. El nivel de acceso no público que especifique para la clave reduce la probabilidad de entrada no válida arbitraria.The nonpublic access level you specify for the key reduces the likelihood for arbitrary invalid input.

Se aplica a