Exemplo n.º 1
0
        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;
                }
            }
        }
Exemplo n.º 2
0
 async void Handle_Refreshing(object sender, System.EventArgs e)
 {
     await(BindingContext as TeledeclarationsListViewModel).BindData();
     TeledeclarationsList.EndRefresh();
 }