Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

DependencyPropertyKey (Clase)

Proporciona un identificador de propiedad de dependencia para un acceso de escritura limitado a una propiedad de dependencia de sólo lectura.

System.Object
  System.Windows.DependencyPropertyKey

Espacio de nombres:  System.Windows
Ensamblado:  WindowsBase (en WindowsBase.dll)

public sealed class DependencyPropertyKey

El tipo DependencyPropertyKey expone los siguientes miembros.

  NombreDescripción
Propiedad públicaDependencyPropertyObtiene el identificador de propiedad de dependencia asociado a este identificador de propiedad de dependencia de sólo lectura especializado.
Arriba

  NombreDescripción
Método públicoEquals(Object)Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoGetHashCodeActúa como función hash para un tipo concreto. (Se hereda de Object).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoOverrideMetadataInvalida los metadatos de una propiedad de dependencia de sólo lectura que está representada por este identificador de propiedad de dependencia.
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

Las instancias de DependencyPropertyKey se obtienen como valor devuelto de una llamada del registro de propiedades de dependencia mediante los métodos RegisterReadOnly o RegisterAttachedReadOnly.

Los tipos que registran una propiedad de dependencia pueden utilizar DependencyPropertyKey en llamadas a SetValue y ClearValue que ajustan el valor de la propiedad como parte de la lógica de clase. Si el nivel de acceso de la clave lo permite, las clases relacionadas también pueden utilizar la clave y la propiedad de dependencia. Por ejemplo, puede declarar la clave como interna y otros tipos dentro del mismo ensamblado pueden establecer igualmente esa propiedad de dependencia.

La DependencyPropertyKey devuelta por el registro de propiedades de dependencia de sólo lectura no se debe hacer pública, porque al exponer la clave, se permite configurar la propiedad, por lo que se omite así su registro como propiedad de dependencia de sólo lectura. Asimismo, exponer la clave genera una desigualdad entre los comportamientos disponibles de la propiedad de dependencia y sus implementaciones de contenedores de propiedad common language runtime (CLR), lo que es un diseño de clase incorrecto.

En lugar de exponer la propia clave, se debe exponer el valor de DependencyProperty del objeto DependencyPropertyKey como DependencyPropertypublic static readonly de la clase. Esto permite a la propiedad devolver un identificador de propiedad de dependencia válido para ciertas operaciones del sistema de propiedades como enumerar valores establecidos localmente. Sin embargo, el identificador que se obtiene de este modo no tiene todas las funciones de DependencyProperty para muchas operaciones del sistema de propiedades.

En el ejemplo siguiente se registra una propiedad de dependencia de sólo lectura y se utiliza también la clave para dos propósitos en otros miembros de clase: implementar el "contenedor" que se obtiene y como identificador para una operación de determinación protegida que establece el valor basándose en los cálculos de otros valores de propiedad.


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); }
}


.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft