Pull to refresh w ListView

Pisząc apkę w Xamarin.Forms odkryłem, że istnieje wbudowana funkcjonalność o wymownej nazwie “Pull to refresh” dla kontrolki ListView. Zdziwiłem się ponieważ jest to naprawdę fajna funkcjonalność, a dostajemy ją “za darmo” tzn. jest wbudowana w Formsy i nie potrzeba nic dodatkowo instalować. Co więcej jej implementacja jest bardzo łatwa…

Czyli jak?

Całość sprowadza się do ustawienia kilku właściwości kontrolki ListView. Na początek to IsPullToRefreshEnabled na True, pozwoli nam to pociągać aby odświeżyć ;)

Następnie musimy z bindować komendę do właściwości RefreshCommand, która będzie wywoływała nam metodę ładująca elementy do podpiętej listy w ItemsSource.

Na koniec dodajemy właściwość IsRefreshing, będzie to właściwość typu bool, aby nam zadziałała najlepiej ustawiać ją z parametrem True na początku metody ładującej nam elementy, i na False na koniec tej samej metody.

Efekt końcowy Pull to refresh
Efekt końcowy Pull to refresh

Na koniec…

Chciałbym napisać że ta funkcjonalność jest dostępna tylko dla Androida i IOS, Windowsy w tym UWP póki co muszą się ratować np. przyciskiem na “toolbarze”.