Compartir vía


DependencyProperty Clase

Definición

Representa una propiedad que se puede establecer mediante métodos como, por ejemplo, estilos, enlace de datos, animación y 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

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

  • La propiedad se puede establecer en un estilo. Para obtener más información, vea aplicación de 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, consulta recursos XAML.

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

  • La propiedad se puede animar. Para obtener más información, vea Información general sobre animaciones.

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

  • La propiedad notifica información a WPF, como 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 con WPF Designer para Visual Studio. Por ejemplo, la propiedad se puede editar en la ventana propiedades de .

Para obtener 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 de DependencyObject 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 el ownerType.sintaxis propertyName. Un ejemplo de una propiedad adjunta es la propiedad DockPanel.Dock. Si desea crear una propiedad que se pueda usar en todos los tipos de DependencyObject, 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-

<object property="ownerType.dependencyPropertyName"/>  

-o-

<object property="attachedPropertyOwnerType.attachedPropertyName"/>  

Valores XAML

dependencyPropertyName
Cadena que especifica el DependencyProperty.Name de la 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, consulta espacios de nombres XAML y asignación de espacios de nombres para elXAML de WPF).

ownerType.dependencyPropertyName
Cadena que especifica un tipo de propietario de una propiedad de dependencia, un punto (.), a continuación, el 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 analizar el contexto porque aún no se conoce el TargetType. Para obtener más información, vea aplicación de 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 de null para 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 de forma única 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ó como propietario de la propiedad.

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 solo lectura.

ValidateValueCallback

Obtiene la devolución de llamada de validación de valores para la propiedad de dependencia.

Métodos

AddOwner(Type)

Agrega otro tipo como propietario de una propiedad de dependencia que ya se ha registrado.

AddOwner(Type, PropertyMetadata)

Agrega otro tipo como propietario de una propiedad de dependencia que ya se ha registrado, proporcionando metadatos de propiedad de dependencia para la propiedad de dependencia, ya que existirá en el tipo de propietario proporcionado.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Devuelve un código hash para este DependencyProperty.

GetMetadata(DependencyObject)

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

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 existente 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, tal como se comprueba con 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 a través de la comprobación básica de tipos y también si está dentro del intervalo permitido de valores para ese tipo.

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
OverrideMetadata(Type, PropertyMetadata)

Especifica metadatos alternativos para esta propiedad de dependencia cuando está presente en instancias de un tipo especificado, reemplazando los metadatos que existían para la propiedad de dependencia tal como se heredó de los tipos base.

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Proporciona metadatos alternativos para una propiedad de dependencia de solo lectura cuando está presente en instancias de un tipo especificado, reemplazando los metadatos proporcionados en el registro inicial de la propiedad de dependencia. Debe pasar el DependencyPropertyKey de la propiedad de dependencia de solo lectura para evitar generar 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 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 el nombre de propiedad, el tipo de propiedad, el tipo de propiedad, los metadatos de propiedad y una devolución de llamada de validación de valores para 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 propiedad, el tipo de 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 la devolución de llamada de validación de valores especificados para la propiedad.

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 especificado, el tipo de propietario, los metadatos de propiedad y una devolución de llamada de validación.

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