Data Binding

¿Qué es Data Binding?

Es un mecanismo mediante el cual podemos enlazar los elementos de la interfaz de usuario con los objetos que contienen la información a mostrar. El caso más típico de data binding es el enlazar un control de la interfaz de usuario con un valor o registro de una base de datos.

Xamarin nos permite de manera sencilla realizar binding a una propiedad de un control utilizando propiedades de otros controles, objetos, colecciones, etc.

Cuando realizamos data binding, creamos una dependencia entre el valor de una propiedad llamada target con el valor de otra propiedad llamada source. Donde normalmente, la propiedad target recibirá el valor de la propiedad source. Podremos modificar el comportamiento del binding. Es decir, en ocasiones, cualquier cambio en el valor de la propiedad source será aplicado a la propiedad target. Sin embargo, podremos hacer que cualquier cambio en la propiedad source sea aplicado a la propiedad target y viceversa.

La clase Binding es la que nos permite realizar el data binding. En ella es donde se establece el tipo de relación entre las propiedades target y source. Se utiliza desde XAML con la notación {Binding …}.

Las propiedades principales de Data Binding:

  • Mode: Obtiene o establece un valor que indica la dirección del flujo de datos en el enlace.
  • Source: Obtiene o establece el objeto que se va a utilizar como origen de enlace.

 

Tipos de Data Binding:

  • One-Way Binding: permite que los cambios en la propiedad de origen actualicen automáticamente la propiedad de destino, pero los cambios en la propiedad de destino no se propagan de nuevo a la propiedad de origen.Este tipo de enlace es adecuado si el control que se va a enlazar es de sólo lectura de forma implícita.  Si no hay necesidad de supervisar los cambios de la propiedad de destino, con el modo de enlace OneWay evitará el trabajo adicional que supone usar el modo de enlace TwoWay.

 

  • Two-Way Binding: permite que los cambios realizados en la propiedad de origen o en la de destino se actualicen automáticamente en el otro.

 

Autor: Mirel Gabriel Stanescu

Curso: Microsoft MCSD

Año Lectivo: 2015/2016

Centro de Formación: Tajamar

GitHub: https://github.com/M1r3l/DataBinding