Exportar (0) Imprimir
Expandir todo

Binding (Clase)

Actualización: noviembre 2007

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

Espacio de nombres:  System.Windows.Data
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/xaml/presentation

public class Binding : BindingBase
public class Binding extends BindingBase
public class Binding extends BindingBase
<object property="{Binding declaration}"/>
declaración
                    Cero o más cláusulas de asignación de atributos que están separadas por comas (,). Para obtener más información, vea Enlazar extensión de marcado.
                

El enlace de datos de Windows Presentation Foundation (WPF) proporciona un método simple y coherente para que las aplicaciones puedan presentar e interactuar con los datos. El enlace de datos permite sincronizar los valores de las propiedades de dos objetos diferentes.

Para establecer un enlace, utilice la clase Binding o una de las otras clases que hereden de BindingBase. Independientemente del objeto que se vaya a enlazar y de la naturaleza del origen de datos, cada enlace sigue el modelo que se muestra en la figura siguiente.

Diagrama de enlace de datos básico

En la figura se muestran los siguientes conceptos fundamentales del enlace de datos de WPF.

  • Cada enlace tiene normalmente estos cuatro componentes: un objeto de destino de enlace, una propiedad de destino, un origen de enlace y una ruta de acceso Path al valor en el origen de enlace que se va a usar. Por ejemplo, si desea enlazar el contenido de un control TextBox a la propiedad Name de un objeto Employee, el objeto de destino es el control TextBox, la propiedad de destino es la propiedad Text, 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 UIElement son propiedades de dependencia y la mayoría de las propiedades de dependencia, excepto las de sólo lectura, admiten el enlace de datos de forma predeterminada. (Sólo los tipos DependencyObject pueden definir propiedades de dependencia y todos los objetos UIElement derivan de DependencyObject.)

  • Si bien no se especifica en la figura, cabe observar que el objeto de origen de enlace no se limita a un objeto de CLR personalizado. El enlace de datos de WPF admite datos en forma de objetos de CLR y XML. Para proporcionar algunos ejemplos, el origen de enlace puede ser un objeto UIElement, cualquier objeto de lista, un objeto de CLR que está asociado a datos de ADO.NET o servicios web, o bien, un objeto XMLNode que contiene datos XML.

Use la propiedad Mode para especificar la dirección del flujo de datos. Para detectar los cambios de origen en los enlaces unidireccionales o bidireccionales, el origen debe implementar un mecanismo apropiado de notificación de cambios de propiedad, como INotifyPropertyChanged. Tiene un ejemplo en Cómo: Implementar la notificación de cambio de propiedad. La propiedad UpdateSourceTrigger especifica los intervalos de actualización del origen. Para obtener más información, vea la sección referente a los conceptos básicos del enlace de datos en Información general sobre el enlace de datos.

En este ejemplo se muestra cómo crear un Binding sencillo.

En este ejemplo, tenemos un objeto Person con una propiedad de cadena denominada PersonName. El objeto Person se define en el espacio de nombres denominado SDKSample.

En el ejemplo siguiente se crea una instancia del objeto Person con un valor de la propiedad PersonName de Joe. Esto se hace en la sección Resources y se le asigna x:Key.

<Window
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:src="clr-namespace:SDKSample"
  SizeToContent="WidthAndHeight"
  Title="Simple Data Binding Sample">

  <Window.Resources>
    <src:Person x:Key="myDataSource" PersonName="Joe"/>


...


</Window.Resources>


...


</Window>


Para enlazar la propiedad PersonName, se hace lo siguiente:

<TextBlock Text="{Binding Source={StaticResource myDataSource}, Path=PersonName}"/>


Como resultado, TextBlock aparece con el valor "Joe".

Para obtener el ejemplo completo, vea Ejemplo Simple Binding.

Más código

Cómo: Especificar el origen de enlaceEn el enlace de datos, el objeto de origen de enlace hace referencia al objeto del que se obtienen los datos. En este tema se describen las distintas maneras de especificar el origen de enlace.
Cómo: Crear un enlace en códigoEn este ejemplo se muestra cómo crear y establecer un objeto Binding en código.
Cómo: Enlazar a datos XML mediante XMLDataProvider y consultas XPathEn este ejemplo se muestra cómo enlazar a datos XML utilizando XmlDataProvider.
Cómo: Implementar la notificación de cambio de propiedadPara que en los enlaces OneWay o TwoWay se permita que las propiedades de destino de enlace reflejen automáticamente los cambios dinámicos del origen de enlace (por ejemplo, para que el panel de vista previa se actualice automáticamente cuando el usuario edite un formulario), es preciso que la clase proporcione las notificaciones apropiadas de cambio de propiedad. En este ejemplo se muestra cómo crear una clase que implementa INotifyPropertyChanged.
Cómo: Especificar la dirección del enlaceEn este ejemplo se muestra cómo especificar si el enlace actualizará únicamente la propiedad de destino de enlace (destino), la propiedad de origen de enlace (origen) o ambas.
Cómo: Controlar cuándo el texto de TextBox actualiza el origenEn este tema se describe cómo utilizar la propiedad UpdateSourceTrigger para controlar el control de tiempo de las actualizaciones del origen de enlace. En el tema se utiliza el control TextBox como ejemplo.
Cómo: Enlazar a un origen de datos ADO.NETEn este ejemplo se muestra cómo enlazar un control ListBox de Windows Presentation Foundation (WPF) a un DataSet de ADO.NET.
Cómo: Ordenar datos en una vistaEn este ejemplo se describe cómo ordenar los datos en una vista.
Cómo: Filtrar datos en una vistaEn este ejemplo se muestra cómo filtrar los datos en una vista.
Cómo: Enlazar a una enumeraciónEn este ejemplo se muestra cómo enlazar a una enumeración enlazando al método GetValues de la misma.

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.

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft