Binding Clase

Definición

Proporciona acceso de alto nivel a la definición de un enlace, que conecta las propiedades de objetos de destino de enlace (normalmente, elementos WPF) y cualquier origen de datos (por ejemplo, una base de datos, un archivo XML o cualquier objeto que contenga datos).

public ref class Binding : System::Windows::Data::BindingBase
public class Binding : System.Windows.Data.BindingBase
type Binding = class
    inherit BindingBase
Public Class Binding
Inherits BindingBase
Herencia

Comentarios

El enlace de datos de Windows Presentation Foundation (WPF) ofrece una manera sencilla y coherente de que las aplicaciones presenten datos e interactúen con ellos. El enlace de datos permite sincronizar los valores de las propiedades de dos objetos diferentes.

Para establecer un enlace, use la Binding clase o una de las otras clases que heredan BindingBase. Independientemente del objeto que se enlace y la naturaleza del origen de datos, cada enlace sigue el modelo que se muestra en la ilustración siguiente.

Diagrama de enlace de datos básico

En la ilustración se muestran los siguientes conceptos fundamentales de enlace de datos de WPF.

  • Cada enlace normalmente tiene estos cuatro componentes: un objeto de destino de enlace, una propiedad de destino, un origen de enlace y un Path al valor del origen de enlace que se va a usar. Por ejemplo, si desea enlazar el contenido de a TextBox la propiedad Name de un objeto Employee, el objeto de destino es TextBox, la propiedad de destino es la Text propiedad , el valor que se va a usar es Name y el objeto de origen es el objeto Employee.

  • La propiedad de destino debe ser una propiedad de dependencia. Esto también significa que no se puede enlazar un campo. La mayoría de las propiedades de los objetos son propiedades de dependencia y la mayoría de UIElement las propiedades de dependencia, excepto las de solo lectura, admiten el enlace de datos de forma predeterminada. (Solo DependencyObject los tipos pueden definir propiedades de dependencia y todos los UIElement objetos derivan de DependencyObject).

  • Aunque no se especifica en la figura, debe tenerse en cuenta que el objeto de origen de enlace no está restringido a ser un objeto CLR personalizado. El enlace de datos de WPF admite datos en forma de objetos CLR y XML. Para proporcionar algunos ejemplos, el origen de enlace puede ser , UIElementcualquier objeto de lista, un objeto CLR asociado a ADO.NET datos o servicios web, o un XmlNode que contenga los datos XML.

Use la Mode propiedad para especificar la dirección del flujo de datos. Para detectar cambios de origen en enlaces unidireccionales o bidireccionales, el origen debe implementar un mecanismo de notificación de cambio de propiedad adecuado, como INotifyPropertyChanged. Para obtener un ejemplo, vea How to: Implement Property Change Notification. La UpdateSourceTrigger propiedad especifica el tiempo de las actualizaciones de origen. Para obtener más información, vea "Conceptos básicos del enlace de datos" en Información general sobre el enlace de datos.

Uso de atributos XAML

<object property="{Binding  declaration}"/>  

Valores XAML

declaration
Cero o más cláusulas de asignación de atributos separadas por comas (,). Para obtener más información, vea Binding Markup Extension or Binding Declarations Overview.

Constructores

Binding()

Inicializa una nueva instancia de la clase Binding.

Binding(String)

Inicializa una nueva instancia de la clase Binding con una ruta de acceso inicial.

Campos

DoNothing

Se utiliza como un valor devuelto para indicar al motor de enlace que no realice ninguna acción.

IndexerName

Se usa como PropertyName de PropertyChangedEventArgs para indicar que ha cambiado una propiedad de indizador.

SourceUpdatedEvent

Identifica el evento adjunto SourceUpdated.

TargetUpdatedEvent

Identifica el evento adjunto TargetUpdated.

XmlNamespaceManagerProperty

Identifica la propiedad adjunta XmlNamespaceManager.

Propiedades

AsyncState

Obtiene o establece los datos opacos que se han pasado al distribuidor de datos asincrónicos.

BindingGroupName

Obtiene o establece el nombre del objeto BindingGroup al que pertenece este enlace.

(Heredado de BindingBase)
BindsDirectlyToSource

Obtiene o establece un valor que indica si se debe evaluar la propiedad Path en relación con el elemento de datos o el objeto DataSourceProvider.

Converter

Obtiene o establece el convertidor que se va a utilizar.

ConverterCulture

Obtiene o establece la referencia cultural en la que se evaluará el convertidor.

ConverterParameter

Obtiene o establece el parámetro que se va a pasar a la propiedad Converter.

Delay

Obtiene o establece la cantidad de tiempo, en milisegundos, que hay que esperar antes de actualizar el origen de enlace después de que cambie el valor en el destino.

(Heredado de BindingBase)
ElementName

Obtiene o establece el objeto del elemento que se va a usar como objeto de origen de enlace.

FallbackValue

Obtiene o establece el valor que se usa cuando el enlace no puede devolver un valor.

(Heredado de BindingBase)
IsAsync

Obtiene o establece un valor que indica si Binding debe obtener y establecer valores de forma asincrónica.

Mode

Obtiene o establece un valor que indica la dirección del flujo de datos en el enlace.

NotifyOnSourceUpdated

Obtiene o establece un valor que indica si se produce el evento SourceUpdated cuando se transfiere un valor desde el destino de enlace al origen de enlace.

NotifyOnTargetUpdated

Obtiene o establece un valor que indica si se produce el evento TargetUpdated cuando un valor se transfiere desde el origen de enlace al destino de enlace.

NotifyOnValidationError

Obtiene o establece un valor que indica si se produce el evento adjunto Error en el objeto enlazado.

Path

Obtiene o establece la ruta de acceso a la propiedad de origen de enlace.

RelativeSource

Obtiene o establece el origen de enlace especificando su ubicación en relación con la posición del destino de enlace.

Source

Obtiene o establece el objeto que se va a usar como origen de enlace.

StringFormat

Obtiene o establece una cadena que especifica cómo se aplica formato al enlace si muestra el valor enlazado como una cadena.

(Heredado de BindingBase)
TargetNullValue

Obtiene o establece el valor que se utiliza en el destino cuando el valor del origen es null.

(Heredado de BindingBase)
UpdateSourceExceptionFilter

Obtiene o establece un controlador que puede usar para ofrecer lógica personalizada para controlar las excepciones que el motor de enlace encuentra durante la actualización del valor del origen de enlace. Esto solo es aplicable si se asoció una ExceptionValidationRule al enlace.

UpdateSourceTrigger

Obtiene o establece un valor que determina los intervalos de las actualizaciones del origen de enlace.

ValidatesOnDataErrors

Obtiene o establece un valor que indica si se va a incluir el objeto DataErrorValidationRule.

ValidatesOnExceptions

Obtiene o establece un valor que indica si se va a incluir el objeto ExceptionValidationRule.

ValidatesOnNotifyDataErrors

Obtiene o establece un valor que indica si se va a incluir el objeto NotifyDataErrorValidationRule.

ValidationRules

Obtiene una colección de reglas que comprueban la validez de la entrada del usuario.

XPath

Obtiene o establece una XPath consulta que devuelve el valor en el origen de enlace XML que se va a usar.

Propiedades adjuntas

XmlNamespaceManager

Obtiene o establece el objeto XmlNamespaceManager que se usa para realizar en los enlaces XML consultas XPath que reconocen el espacio de nombres.

Métodos

AddSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Agrega un controlador para el evento adjunto SourceUpdated.

AddTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Agrega un controlador para el evento adjunto TargetUpdated.

Equals(Object)

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

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetXmlNamespaceManager(DependencyObject)

Devuelve un objeto de administrador de espacios de nombres XML utilizado por el enlace adjunto al objeto especificado.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ProvideValue(IServiceProvider)

Devuelve un objeto que se debe establecer en la propiedad donde se aplican este enlace y esta extensión.

(Heredado de BindingBase)
RemoveSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Quita un controlador del evento adjunto SourceUpdated.

RemoveTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Quita un controlador del evento adjunto TargetUpdated.

SetXmlNamespaceManager(DependencyObject, XmlNamespaceManager)

Establece un objeto del administrador de espacios de nombres que usa el enlace adjunto al elemento proporcionado.

ShouldSerializeFallbackValue()

Devuelve un valor que indica si los procesos de serialización deben serializar el valor efectivo de la propiedad FallbackValue en instancias de esta clase.

(Heredado de BindingBase)
ShouldSerializePath()

Indica si la propiedad Path debe persistir.

ShouldSerializeSource()

Indica si la propiedad Source debe persistir.

ShouldSerializeTargetNullValue()

Devuelve un valor que indica si debe serializarse la propiedad TargetNullValue.

(Heredado de BindingBase)
ShouldSerializeValidationRules()

Indica si la propiedad ValidationRules debe persistir.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos adjuntos

SourceUpdated

Se produce cuando se transfiere un valor desde el destino de enlace al origen de enlace, pero solo para los enlaces con el valor NotifyOnSourceUpdated establecido en true.

TargetUpdated

Se produce cuando se transfiere un valor desde el origen de enlace al destino de enlace, pero solo para los enlaces con el valor NotifyOnTargetUpdated establecido en true.

Se aplica a

Consulte también