Data binding

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Co to jest data binding?

Data binding to mechanizm wiązania danych z elementami interfejsu użytkownika. Pozwala połączyć właściwość kontrolki, np. tekst etykiety, wartość suwaka lub zaznaczenie pola wyboru, z danymi aplikacji albo właściwością innego obiektu.

Dzięki temu interfejs może automatycznie wyświetlać aktualne dane bez ręcznego przypisywania ich w kodzie po każdej zmianie.

Przykład w Androidzie

<TextView android:text="@{viewmodel.userName}" />

W tym przykładzie właściwość text kontrolki TextView jest powiązana z właściwością userName znajdującą się w obiekcie viewmodel.

Przykład w XAML

<Label Text="{Binding Source={x:Reference slider2}, Path=Value}" />

Tutaj właściwość Text etykiety Label jest powiązana z właściwością Value kontrolki slider2, np. suwaka. Gdy zmienia się wartość suwaka, etykieta może wyświetlać nową wartość.

Po co stosuje się binding?

  • aby oddzielić logikę aplikacji od wyglądu interfejsu,
  • aby ograniczyć liczbę ręcznych przypisań w kodzie,
  • aby automatycznie aktualizować widok po zmianie danych,
  • aby łatwiej stosować wzorce projektowe takie jak MVVM.

Ważne na egzaminie

Binding nie oznacza obsługi zdarzeń, eksportowania plików ani mechanizmu obietnic. Jego głównym celem jest wiązanie właściwości elementu interfejsu użytkownika z danymi lub właściwością innego obiektu.