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 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 readonly
DependencyProperty identificador en la clase , que en paralelo el DependencyPropertyKeyobjeto .
Se aplica a
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de