DependencyPropertyKey.DependencyProperty Propiedad
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í.
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 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 el identificador de una propiedad de solo lectura participe en 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 get property para una propiedad de dependencia de solo lectura, debe crear y exponer un DependencyProperty identificador en la clase. Esto sirve para dos propósitos:
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 dependen de metadatos pueden tener acceso 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 el 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, simplemente 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 DependencyProperty identificador de la clase, llame DependencyProperty directamente a la clave. Use este valor para crear un public static readonlyDependencyProperty identificador en la clase , que en paralelo a DependencyPropertyKey.