Enlace de datos de Xamarin.Forms

Download SampleDescargar el ejemplo

El enlace de datos es la técnica que consiste en vincular las propiedades de dos objetos para que los cambios en una propiedad se reflejen automáticamente en la otra propiedad. El enlace de datos es una parte integral de la arquitectura de aplicación Model-View-ViewModel (MVVM).

El problema de vinculación de datos

Una aplicación de Xamarin.Forms consta de una o varias páginas, cada una de las cuales generalmente contiene varios objetos de interfaz de usuario denominados vistas. Una de las tareas principales del programa consiste en mantener estas vistas sincronizadas y realizar un seguimiento de los distintos valores o selecciones que representan. A menudo las vistas representan valores de un origen de datos subyacente y el usuario manipula estas vistas para cambiar esos datos. Cuando la vista cambia, los datos subyacentes deben reflejar ese cambio y, de forma similar, cuando los datos subyacentes cambian, ese cambio debe reflejarse en la vista.

Para controlar este trabajo correctamente, el programa debe recibir una notificación de cambios en estas vistas o en los datos subyacentes. La solución habitual consiste en definir eventos que indican cuándo se produce un cambio. Después, se puede instalar un controlador de eventos que recibe la notificación de estos cambios, y responde transfiriendo datos de un objeto a otro. Pero cuando hay muchas vistas, también es necesario que haya muchos controladores de eventos y se involucra una gran cantidad de código.

La solución de enlace de datos

El enlace de datos automatiza este trabajo y vuelve innecesarios los controladores de eventos. Los enlaces de datos se pueden implementar en el código o en XAML, pero son mucho más comunes en XAML, ya que así es más fácil reducir el tamaño del archivo de código subyacente. Al reemplazar el código de procedimientos en los controladores de eventos con código declarativo o marcado, se simplifica y se aclara la aplicación.

Uno de los dos objetos implicados en un enlace de datos es casi siempre un elemento que se deriva de View y forma parte de la interfaz visual de una página. El otro objeto puede ser:

  • Otro derivado de View, normalmente en la misma página.
  • Un objeto en un archivo de código.

En los programas de demo, como los del ejemplo DataBindingDemos, los enlaces de datos entre dos derivados de View a menudo se muestran con fines de claridad y simplicidad. Pero se pueden aplicar los mismos principios a los enlaces de datos entre un View y otros objetos. Cuando se compila una aplicación con la arquitectura Model-View-ViewModel (MVVM), la clase con los datos subyacentes a menudo se denomina ViewModel.

En los siguientes artículos se abordan los enlaces de datos:

Enlaces básicos

Conozca la diferencia entre el origen y el destino del enlace de datos y vea enlaces de datos sencillos en código y en XAML.

Modo de enlace

Descubra cómo el modo de enlace puede controlar el flujo de datos entre los dos objetos.

Formato de cadena

Use un enlace de datos para dar formato y mostrar objetos como cadenas.

Enlace de ruta de acceso

Profundice en la propiedad Path del enlace de datos para acceder a las subpropiedades y los miembros de la colección.

Enlace de convertidores de valores

Use convertidores de valor de enlace para modificar valores en el enlace de datos.

Enlaces relativos

Use enlaces relativos para establecer el origen de enlace en relación con la posición del destino de enlace.

Conmutación por recuperación de enlaces

Fortalezca los enlaces de datos mediante la definición de valores de reserva para usarlos si se produce un error en el proceso de enlace.

Enlaces múltiples

Adjunte una colección de objetos Binding asociados a una única propiedad de destino de enlace.

Interfaz de comandos

Implemente la propiedad Command con los enlaces de datos.

Enlaces compilados

Use enlaces compilados para mejorar el rendimiento del enlace de datos.