Enlace de datos

Examinar ejemplo. Examinar el ejemplo

Una aplicación de interfaz de usuario de aplicación multiplataforma de .NET (.NET MAUI) consta de una o varias páginas, cada una de las cuales normalmente contiene varios objetos de interfaz de usuario denominados vistas. Una de las tareas principales de la aplicación es 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 los usuarios manipulan 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 esto correctamente, la aplicación debe recibir una notificación de los cambios en estas vistas o 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. Sin embargo, cuando hay muchas vistas, también debe haber muchos controladores de eventos, lo que da como resultado una gran cantidad de código reutilizable.

El enlace de datos automatiza esta tarea y representa los controladores de eventos innecesarios. Los enlaces de datos se pueden implementar en XAML o en código, pero son mucho más comunes en XAML, donde ayudan a reducir el tamaño del archivo de código subyacente. Al reemplazar el código de procedimiento en los controladores de eventos por código declarativo o marcado, la aplicación se simplifica y aclara.

Por lo tanto, el enlace de datos es la técnica de vincular propiedades de dos objetos para que los cambios en una propiedad se reflejen automáticamente en la otra propiedad. 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.

Nota

Los enlaces de datos entre dos View derivados 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.