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).Provides high-level access to the definition of a binding, which connects the properties of binding target objects (typically, WPF elements), and any data source (for example, a database, an XML file, or any object that contains data).

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 Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) proporciona una manera sencilla y coherente para que las aplicaciones presenten datos e interactúen con ellos.Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) data binding provides a simple and consistent way for applications to present and interact with data. El enlace de datos le permite sincronizar los valores de las propiedades de dos objetos diferentes.Data binding enables you to synchronize the values of the properties of two different objects.

Para establecer un enlace, utilice la Binding clase o una de las otras clases que heredan. BindingBaseTo establish a binding, use the Binding class or one of the other classes that inherit 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.Regardless of what object you are binding and the nature of your data source, each binding follows the model illustrated by the following figure.

![Diagrama de enlace de datos básico] (~/add/media/databindingmostbasic.png "Diagrama de enlace de datos básico")Basic data binding diagram

En la ilustración se muestran los WPFWPF siguientes conceptos fundamentales del enlace de datos.The figure demonstrates the following fundamental WPFWPF data binding concepts.

  • Cada enlace tiene normalmente estos cuatro componentes: un objeto de destino de enlace, una propiedad de destino, un origen de Path enlace y un valor en el origen de enlace que se va a usar.Each binding typically has these four components: a binding target object, a target property, a binding source, and a Path to the value in the binding source to use. Por ejemplo, si desea enlazar el contenido de TextBox a la propiedad de nombre de un objeto de empleado, el objeto de destino TextBoxes, la propiedad de destino es Text la propiedad, el valor que se va a usar es el nombre y el objeto de origen es el empleado. objeto.For example, if you want to bind the content of a TextBox to the Name property of an Employee object, your target object is the TextBox, the target property is the Text property, the value to use is Name, and the source object is the Employee object.

  • La propiedad de destino debe ser una propiedad de dependencia.The target property must be a dependency property. Esto también significa que no se puede enlazar un campo.This also means that you cannot bind a field. La mayoría de UIElement las propiedades de los objetos son propiedades de dependencia y la mayoría de las propiedades de dependencia, excepto las de solo lectura, admiten el enlace de datos de forma predeterminada.Most properties of UIElement objects are dependency properties and most dependency properties, except read-only ones, support data binding by default. (Solo DependencyObject los tipos pueden definir propiedades de dependencia UIElement y todos los DependencyObjectobjetos derivan de).(Only DependencyObject types can define dependency properties and all UIElement objects derive from DependencyObject.)

  • Aunque no se especifica en la ilustración, hay que destacar que el objeto de origen de enlace no está restringido a ser un objeto CLRCLR personalizado.Although not specified in the figure, it should be noted that the binding source object is not restricted to being a custom CLRCLR object. El enlace de datos de WPFWPF admite datos en forma de objetos CLRCLR y XMLXML.WPFWPF data binding supports data in the form of CLRCLR objects and XMLXML. Para proporcionar algunos ejemplos, el origen del enlace puede ser UIElement, cualquier objeto de lista, CLRCLR un objeto asociado a ADO.NETADO.NET datos o servicios Web, o un XmlNode que contenga los XMLXML datos.To provide some examples, your binding source may be a UIElement, any list object, a CLRCLR object that is associated with ADO.NETADO.NET data or Web Services, or an XmlNode that contains your XMLXML data.

Utilice la Mode propiedad para especificar la dirección del flujo de datos.Use the Mode property to specify the direction of the data flow. Para detectar los cambios de origen en los enlaces unidireccionales o bidireccionales, el origen debe implementar un mecanismo de notificación de cambio INotifyPropertyChangedde propiedad adecuado como.To detect source changes in one-way or two-way bindings, the source must implement a suitable property change notification mechanism such as INotifyPropertyChanged. Como ejemplo, vea Cómo: Implementar la notificaciónde cambio de propiedad.For an example, see How to: Implement Property Change Notification. La UpdateSourceTrigger propiedad especifica el tiempo de las actualizaciones del origen.The UpdateSourceTrigger property specifies the timing of source updates. Para obtener más información, vea "conceptos básicos del enlace de datos" en información general sobre el enlace de datos.For more information, see "Basic Data Binding Concepts" in Data Binding Overview.

Uso de atributos XAMLXAML Attribute Usage

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

Valores XAMLXAML Values

declarationdeclaration
Cero o más cláusulas de asignación de atributos separadas por comas (,).Zero or more attribute-assignment clauses separated by commas (,). Para obtener más información, vea información general sobrela extensión de marcado de enlace o las declaraciones de enlace.For more information, see Binding Markup Extension or Binding Declarations Overview.

Constructores

Binding()

Inicializa una nueva instancia de la clase Binding.Initializes a new instance of the Binding class.

Binding(String)

Inicializa una nueva instancia de la clase Binding con una ruta de acceso inicial.Initializes a new instance of the Binding class with an initial path.

Campos

DoNothing

Se utiliza como un valor devuelto para indicar al motor de enlace que no realice ninguna acción.Used as a returned value to instruct the binding engine not to perform any action.

IndexerName

Se usa como PropertyName de PropertyChangedEventArgs para indicar que ha cambiado una propiedad de indizador.Used as the PropertyName of PropertyChangedEventArgs to indicate that an indexer property has changed.

SourceUpdatedEvent

Identifica el evento adjunto SourceUpdated.Identifies the SourceUpdated attached event.

TargetUpdatedEvent

Identifica el evento adjunto TargetUpdated.Identifies the TargetUpdated attached event.

XmlNamespaceManagerProperty

Identifica la propiedad adjunta XmlNamespaceManager.Identifies the XmlNamespaceManager attached property.

Propiedades

AsyncState

Obtiene o establece los datos opacos que se han pasado al distribuidor de datos asincrónicos.Gets or sets opaque data passed to the asynchronous data dispatcher.

BindingGroupName

Obtiene o establece el nombre del objeto BindingGroup al que pertenece este enlace.Gets or sets the name of the BindingGroup to which this binding belongs.

(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.Gets or sets a value that indicates whether to evaluate the Path relative to the data item or the DataSourceProvider object.

Converter

Obtiene o establece el convertidor que se va a utilizar.Gets or sets the converter to use.

ConverterCulture

Obtiene o establece la referencia cultural en la que se evaluará el convertidor.Gets or sets the culture in which to evaluate the converter.

ConverterParameter

Obtiene o establece el parámetro que se va a pasar a la propiedad Converter.Gets or sets the parameter to pass to the 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.Gets or sets the amount of time, in milliseconds, to wait before updating the binding source after the value on the target changes.

(Heredado de BindingBase)
ElementName

Obtiene o establece el objeto del elemento que se va a usar como objeto de origen de enlace.Gets or sets the name of the element to use as the binding source object.

FallbackValue

Obtiene o establece el valor que se usa cuando el enlace no puede devolver un valor.Gets or sets the value to use when the binding is unable to return a value.

(Heredado de BindingBase)
IsAsync

Obtiene o establece un valor que indica si Binding debe obtener y establecer valores de forma asincrónica.Gets or sets a value that indicates whether the Binding should get and set values asynchronously.

Mode

Obtiene o establece un valor que indica la dirección del flujo de datos en el enlace.Gets or sets a value that indicates the direction of the data flow in the binding.

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.Gets or sets a value that indicates whether to raise the SourceUpdated event when a value is transferred from the binding target to the binding source.

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.Gets or sets a value that indicates whether to raise the TargetUpdated event when a value is transferred from the binding source to the binding target.

NotifyOnValidationError

Obtiene o establece un valor que indica si se genera el evento adjunto Error en el objeto enlazado.Gets or sets a value that indicates whether to raise the Error attached event on the bound object.

Path

Obtiene o establece la ruta de acceso a la propiedad de origen de enlace.Gets or sets the path to the binding source property.

RelativeSource

Obtiene o establece el origen de enlace especificando su ubicación en relación con la posición del destino de enlace.Gets or sets the binding source by specifying its location relative to the position of the binding target.

Source

Obtiene o establece el objeto que se va a usar como origen de enlace.Gets or sets the object to use as the binding source.

StringFormat

Obtiene o establece una cadena que especifica cómo se aplica formato al enlace si muestra el valor enlazado como una cadena.Gets or sets a string that specifies how to format the binding if it displays the bound value as a string.

(Heredado de BindingBase)
TargetNullValue

Obtiene o establece el valor que se utiliza en el destino cuando el valor del origen es null.Gets or sets the value that is used in the target when the value of the source is 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.Gets or sets a handler you can use to provide custom logic for handling exceptions that the binding engine encounters during the update of the binding source value. Esto solo es aplicable si se asoció una ExceptionValidationRule al enlace.This is only applicable if you have associated an ExceptionValidationRule with your binding.

UpdateSourceTrigger

Obtiene o establece un valor que determina los intervalos de las actualizaciones del origen de enlace.Gets or sets a value that determines the timing of binding source updates.

ValidatesOnDataErrors

Obtiene o establece un valor que indica si se va a incluir el objeto DataErrorValidationRule.Gets or sets a value that indicates whether to include the DataErrorValidationRule.

ValidatesOnExceptions

Obtiene o establece un valor que indica si se va a incluir el objeto ExceptionValidationRule.Gets or sets a value that indicates whether to include the ExceptionValidationRule.

ValidatesOnNotifyDataErrors

Obtiene o establece un valor que indica si se va a incluir el objeto NotifyDataErrorValidationRule.Gets or sets a value that indicates whether to include the NotifyDataErrorValidationRule.

ValidationRules

Obtiene una colección de reglas que comprueban la validez de la entrada del usuario.Gets a collection of rules that check the validity of the user input.

XPath

Obtiene o establece una consulta XPath que devuelve el valor del origen de enlace XMLXML que se va a usar.Gets or sets an XPath query that returns the value on the XMLXML binding source to use.

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.Gets or sets the XmlNamespaceManager used to perform namespace-aware XPath queries in XML bindings.

Métodos

AddSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Agrega un controlador para el evento adjunto SourceUpdated.Adds a handler for the SourceUpdated attached event.

AddTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Agrega un controlador para el evento adjunto TargetUpdated.Adds a handler for the TargetUpdated attached event.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
GetXmlNamespaceManager(DependencyObject)

Devuelve un objeto de administrador de espacio de nombres XMLXML usado por el enlace adjunto al objeto especificado.Returns an XMLXML namespace manager object used by the binding attached to the specified object.

MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ProvideValue(IServiceProvider)

Devuelve un objeto que se debe establecer en la propiedad donde se aplican este enlace y esta extensión.Returns an object that should be set on the property where this binding and extension are applied.

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

Quita un controlador del evento adjunto SourceUpdated.Removes a handler for the SourceUpdated attached event.

RemoveTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Quita un controlador del evento adjunto TargetUpdated.Removes a handler for the TargetUpdated attached event.

SetXmlNamespaceManager(DependencyObject, XmlNamespaceManager)

Establece un objeto del administrador de espacios de nombres que usa el enlace adjunto al elemento proporcionado.Sets a namespace manager object used by the binding attached to the provided element.

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.Returns a value that indicates whether serialization processes should serialize the effective value of the FallbackValue property on instances of this class.

(Heredado de BindingBase)
ShouldSerializePath()

Indica si la propiedad Path debe persistir.Indicates whether the Path property should be persisted.

ShouldSerializeSource()

Indica si la propiedad Source debe persistir.Indicates whether the Source property should be persisted.

ShouldSerializeTargetNullValue()

Devuelve un valor que indica si debe serializarse la propiedad TargetNullValue.Returns a value that indicates whether the TargetNullValue property should be serialized.

(Heredado de BindingBase)
ShouldSerializeValidationRules()

Indica si la propiedad ValidationRules debe persistir.Indicates whether the ValidationRules property should be persisted.

ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(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.Occurs when a value is transferred from the binding target to the binding source, but only for bindings with the NotifyOnSourceUpdated value set to 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.Occurs when a value is transferred from the binding source to the binding target, but only for bindings with the NotifyOnTargetUpdated value set to true.

Se aplica a

Consulte también: