DependencyPropertyKey.DependencyProperty Propiedad

Definición

Obtiene el identificador de propiedad de dependencia asociado a este identificador de propiedad de dependencia de sólo lectura especializado.

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 la propiedad de dependencia pertinente.

Ejemplos

En el ejemplo siguiente se llama DependencyProperty a para exponer el DependencyProperty identificador (AquariumGraphicProperty) de la AquariumGraphic propiedad de dependencia de solo lectura en una clase. En el ejemplo también se muestra la DependencyPropertyKey creación (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 DependencyProperty valor permite que un identificador de propiedad de solo lectura participe en las operaciones comunes del sistema de propiedades mediante algunas de las mismas interfaces que se usan para las propiedades de dependencia de lectura y escritura.

Para implementar el descriptor de acceso de la propiedad get para una propiedad de dependencia de solo lectura, debe crear y exponer un DependencyProperty identificador en la clase. Esta suspensión tiene dos fines:

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

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

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

Se aplica a

Consulte también