DependencyProperty Clase

Definición

Representa una propiedad que se puede establecer a través de métodos como, por ejemplo, el estilo, el enlace de datos, la animación y la herencia.

public ref class DependencyProperty sealed
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
[<System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type DependencyProperty = class
[<System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type DependencyProperty = class
Public NotInheritable Class DependencyProperty
Herencia
DependencyProperty
Atributos

Comentarios

A DependencyProperty admite las siguientes funcionalidades en Windows Presentation Foundation (WPF):

  • La propiedad se puede establecer en un estilo. Para obtener más información, consulte Aplicar estilos y plantillas.

  • La propiedad se puede establecer mediante el enlace de datos. Para obtener más información sobre las propiedades de dependencia de enlace de datos, vea Cómo: Enlazar las propiedades de dos controles.

  • La propiedad se puede establecer con una referencia de recursos dinámicos. Para obtener más información, consulte Recursos XAML.

  • La propiedad puede heredar su valor automáticamente de un elemento primario en el árbol de elementos. Para más información, vea Herencia de valores de propiedad.

  • La propiedad puede animarse. Para obtener más información, consulte Información general sobre animaciones.

  • La propiedad puede informar cuando se ha cambiado el valor anterior de la propiedad y el valor de la propiedad se puede convertir. Para obtener más información, consulte Devoluciones de llamada y validación de las propiedades de dependencia.

  • La propiedad notifica información a WPF, por ejemplo, si cambiar un valor de propiedad debe requerir que el sistema de diseño vuelva a completar los objetos visuales de un elemento.

  • La propiedad recibe compatibilidad en WPF Designer para Visual Studio. Por ejemplo, la propiedad se puede editar en la ventana Propiedades .

Para más información sobre las propiedades de dependencia, consulte Información general sobre las propiedades de dependencia. Si desea que las propiedades de los tipos personalizados admitan las funcionalidades de la lista anterior, debe crear una propiedad de dependencia. Para obtener información sobre cómo crear propiedades de dependencia personalizadas, consulte Propiedades de dependencia personalizadas.

Una propiedad adjunta es una propiedad que permite a cualquier objeto notificar información al tipo que define la propiedad adjunta. En WPF, cualquier tipo que herede DependencyObject de puede usar una propiedad adjunta independientemente de si el tipo hereda del tipo que define la propiedad. Una propiedad adjunta es una característica del lenguaje XAML. Para establecer una propiedad adjunta en XAML, use ownerType. sintaxis propertyName . Un ejemplo de una propiedad adjunta es la DockPanel.Dock propiedad . Si desea crear una propiedad que se pueda usar en todos los DependencyObject tipos, debe crear una propiedad adjunta. Para obtener más información sobre las propiedades adjuntas, incluido cómo crearlas, consulte Información general sobre las propiedades adjuntas.

Uso de atributos XAML

<object property="dependencyPropertyName"/>  

o bien

<object property="ownerType.dependencyPropertyName"/>  

o bien

<object property="attachedPropertyOwnerType.attachedPropertyName"/>  

Valores XAML

dependencyPropertyName
Cadena que especifica la DependencyProperty.Name propiedad de dependencia deseada. Esto puede ir precedido por un prefijo de espacio de nombres XML si la propiedad no está en el espacio de nombres XML predeterminado (para obtener más información, vea Espacios de nombres XAML y Asignación de espacios de nombres para XAML de WPF).

ownerType.dependencyPropertyName
Cadena que especifica un tipo de propietario de una propiedad de dependencia, un punto (.) y, a continuación, .DependencyProperty.Name ownerType también puede ir precedido por un prefijo de espacio de nombres XML. Este uso es específico de los estilos y plantillas enlazados en tiempo de ejecución, donde se debe especificar el propietario de la propiedad de dependencia para el contexto de análisis porque TargetType todavía no se conoce. Para obtener más información, consulte Aplicar estilos y plantillas.

attachedPropertyOwnerType . attachedPropertyName
Cadena que especifica el propietario de una propiedad adjunta, un punto (.) y el nombre de la propiedad adjunta. attachedPropertyOwnerType también puede ir precedido por un prefijo de espacio de nombres XML.

Campos

UnsetValue

Especifica un valor estático que usa el sistema de propiedades de WPF en lugar null de indicar que la propiedad existe, pero no tiene su valor establecido por el sistema de propiedades.

Propiedades

DefaultMetadata

Obtiene los metadatos predeterminados de la propiedad de dependencia.

GlobalIndex

Obtiene un valor generado internamente que identifica exclusivamente la propiedad de dependencia.

Name

Obtiene el nombre de la propiedad de dependencia.

OwnerType

Obtiene el tipo del objeto que registró la propiedad de dependencia con el sistema de propiedades o se agregó a sí mismo como su propietario.

PropertyType

Obtiene el tipo que usa la propiedad de dependencia para su valor.

ReadOnly

Obtiene un valor que indica si la propiedad de dependencia identificada por esta instancia de DependencyProperty es una propiedad de dependencia de sólo lectura.

ValidateValueCallback

Obtiene la devolución de llamada de validación del valor de la propiedad de dependencia.

Métodos

AddOwner(Type)

Agrega otro tipo como propietario de una propiedad de dependencia que ya está registrada.

AddOwner(Type, PropertyMetadata)

Agrega otro tipo como propietario de una propiedad de dependencia que ya se ha registrado y ofrece los metadatos de propiedad de dependencia para la propiedad de dependencia como se verá en el tipo de propietario proporcionado.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Devuelve un código hash para esta DependencyProperty.

GetMetadata(DependencyObject)

Devuelve los metadatos de esta propiedad de dependencia tal como existe en la instancia de objeto especificado.

GetMetadata(DependencyObjectType)

Devuelve los metadatos de esta propiedad de dependencia tal como existe en un tipo especificado.

GetMetadata(Type)

Devuelve los metadatos de esta propiedad de dependencia tal como existe en un tipo especificado.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsValidType(Object)

Determina si un valor especificado es aceptable para el tipo de esta propiedad de dependencia, como se ha comprobado en el tipo de propiedad proporcionado en el registro de propiedad de dependencia original.

IsValidValue(Object)

Determina si el valor proporcionado se acepta para el tipo de propiedad mediante la comprobación de tipo básico y, potencialmente, si está comprendido en el intervalo permitido de valores de ese tipo.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OverrideMetadata(Type, PropertyMetadata)

Especifica los metadatos alternativos para esta propiedad de dependencia cuando se encuentra en instancias de un tipo especificado y reemplaza los metadatos existentes para la propiedad de dependencia tal y como se heredó de los tipos base.

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Proporciona los metadatos alternativos para una propiedad de dependencia de solo lectura cuando se encuentra en instancias de un tipo especificado y reemplaza los metadatos que se proporcionaron en el registro inicial de la propiedad de dependencia. Debe pasar la DependencyPropertyKey para la propiedad de dependencia de solo lectura evitar que se genere una excepción.

Register(String, Type, Type)

Registra una propiedad de dependencia con el nombre de propiedad, el tipo de propiedad y el tipo de propietario especificados.

Register(String, Type, Type, PropertyMetadata)

Registra una propiedad de dependencia con el nombre de la propiedad, el tipo de propiedad, el tipo de propietario y los metadatos de propiedad especificados.

Register(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una propiedad de dependencia con los valores especificados de nombre de la propiedad, tipo de propiedad, tipo de propietario, metadatos de propiedad y una devolución de llamada de validación de la propiedad.

RegisterAttached(String, Type, Type)

Registra una propiedad adjunta con el nombre de propiedad, el tipo de propiedad y el tipo de propietario especificados.

RegisterAttached(String, Type, Type, PropertyMetadata)

Registra una propiedad adjunta con el nombre de la propiedad, el tipo de propiedad, el tipo de propietario y los metadatos de propiedad especificados.

RegisterAttached(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una propiedad adjunta con el tipo de propiedad, el tipo de propietario, los metadatos de propiedad y una devolución de llamada de validación de valor especificados.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Registra una propiedad adjunta de solo lectura, con el tipo de propiedad, el tipo de propietario y los metadatos de propiedad especificados.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una propiedad adjunta de solo lectura, con el tipo de propiedad, el tipo de propietario, los metadatos de propiedad y una devolución de llamada de validación especificados.

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Registra una propiedad de dependencia de solo lectura, con el tipo de propiedad, el tipo de propietario y los metadatos de propiedad especificados.

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una propiedad de dependencia de solo lectura, con el tipo de propiedad, el tipo de propietario, los metadatos de propiedad y una devolución de llamada de validación especificados.

ToString()

Devuelve la representación de cadena de la propiedad de dependencia.

Se aplica a

Consulte también