Compartir vía


DependencyPropertyKey.DependencyProperty Propiedad

Definición

Obtiene el identificador de propiedad de dependencia asociado a este identificador especializado de propiedad de dependencia de solo lectura.

public:
 property System::Windows::DependencyProperty ^ DependencyProperty { System::Windows::DependencyProperty ^ get(); };
public System.Windows.DependencyProperty DependencyProperty { get; }
member this.DependencyProperty : System.Windows.DependencyProperty
Public ReadOnly Property DependencyProperty As DependencyProperty

Valor de propiedad

Identificador de propiedad de dependencia pertinente.

Ejemplos

En el ejemplo siguiente se llama a DependencyProperty para exponer el identificador de DependencyProperty (AquariumGraphicProperty) para la propiedad de dependencia de AquariumGraphic de solo lectura en una clase. En el ejemplo también se muestra la creación de DependencyPropertyKey (como miembro interno) y el descriptor de acceso get para AquariumGraphic.

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

El valor de DependencyProperty permite que el identificador de una propiedad de solo lectura participe en las operaciones del sistema de propiedades comunes mediante algunas de las mismas interfaces que se usan para las propiedades de dependencia de lectura y escritura.

Para implementar el descriptor de acceso get property para una propiedad de dependencia de solo lectura, debe crear y exponer un identificador de DependencyProperty en la clase. Esto sirve para dos propósitos:

  • Su propia clase necesita el identificador de DependencyProperty para implementar el descriptor de acceso get para el contenedor de propiedades. El DependencyProperty se usa como parámetro para la llamada GetValue que implementa el descriptor de acceso get.

  • DependencyProperty identificadores exponen la propiedad de dependencia al sistema de propiedades de forma que otros métodos que dependen de metadatos puedan acceder a ella en un formulario estándar. Por ejemplo, si llamó a GetLocalValueEnumerator en algunos DependencyObject y obtuvo una enumeración de propiedades (valores e identificadores) establecidos localmente, el identificador devuelto para una propiedad de dependencia de solo lectura sería el valor de DependencyProperty en lugar de la clave. No exponer un identificador de DependencyProperty no aumenta la seguridad de la propiedad de dependencia de solo lectura de ninguna manera, simplemente hace que las operaciones que impliquen a la propiedad sean más difíciles tanto para las clases derivadas como para las instancias de clase derivadas posteriores.

Para exponer el identificador de DependencyProperty en la clase, llame a DependencyProperty directamente en la clave. Use este valor para crear un identificador de public static readonlyDependencyProperty en la clase , que en paralelo el DependencyPropertyKey.

Se aplica a

Consulte también