void Handle_TextChanged(object sender, Xamarin.Forms.TextChangedEventArgs e) { if (!string.IsNullOrWhiteSpace(e.NewTextValue)) { IEnumerable <Teledeclaration> foundItems; foundItems = (BindingContext as TeledeclarationsListViewModel).FilteredItems?.Where(x => x.Label.ToLower().Contains(e.NewTextValue.ToLower())); (BindingContext as TeledeclarationsListViewModel).Teledeclarations = new ObservableCollection <Teledeclaration>(foundItems); if (!foundItems.Any() && (BindingContext as TeledeclarationsListViewModel)._teledeclarationsAll.Count < (BindingContext as TeledeclarationsListViewModel).MaxCount) { } } else { if (!string.IsNullOrWhiteSpace(e.OldTextValue)) { Device.BeginInvokeOnMainThread(() => { searchBar.Unfocus(); TeledeclarationsList.Focus(); TeledeclarationsList.SetBinding(ListView.ItemsSourceProperty, "Teledeclarations"); (BindingContext as TeledeclarationsListViewModel).Teledeclarations = (BindingContext as TeledeclarationsListViewModel).Teledeclarations; }); } var context = (BindingContext as TeledeclarationsListViewModel); if (context?._filter != null) { (BindingContext as TeledeclarationsListViewModel).Teledeclarations = new ObservableCollection <Teledeclaration>((BindingContext as TeledeclarationsListViewModel).FilteredItems); } else { (BindingContext as TeledeclarationsListViewModel).Teledeclarations = (BindingContext as TeledeclarationsListViewModel)._teledeclarationsAll; } } }
async void Handle_Refreshing(object sender, System.EventArgs e) { await(BindingContext as TeledeclarationsListViewModel).BindData(); TeledeclarationsList.EndRefresh(); }