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.