Enlace de datos de Xamarin.Forms
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.
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.