ciao!
ho un problema nelk cercare dentro ad una ListView usando una SearchBar.
questo è il mio model:
questa la view:codice:namespaceBook.ViewModels { publicclassItemsViewModel:BaseViewModel { publicObservableCollection<Item>Items{get;set;} publicCommandLoadItemsCommand{get;set;} publicItemsViewModel() { Items=newObservableCollection<Item>(); LoadItemsCommand=newCommand(async()=>awaitExecuteLoadItemsCommand()); } asyncTaskExecuteLoadItemsCommand() { // riempio la lista } publicObservableCollection<Item>GetItems() { returnItems; } } }
in pratica:codice:namespaceBook.Views { publicpartialclassItemsPage:ContentPage { ItemsViewModelviewModel; publicItemsPage() { InitializeComponent(); BindingContext=viewModel=newItemsViewModel(); } protectedoverridevoidOnAppearing() { base.OnAppearing(); if(viewModel.Items.Count==0) viewModel.LoadItemsCommand.Execute(null); } voidHandle_TextChanged(objectsender,TextChangedEventArgse) { ItemsListView.BeginRefresh(); if(string.IsNullOrWhiteSpace(e.NewTextValue)) { ItemsListView.ItemsSource=viewModel.GetItems(); } else { ItemsListView.ItemsSource=viewModel.GetItems().Where(i=>i.Title.ToLower().Contains(e.NewTextValue.ToLower())); } ItemsListView.EndRefresh(); } } }
- in caricamento di app la lista si riempie correttamente
- quando scrivo, la lista si svuota (come se non trovasse nulla)
- quando cancello la SearchBar, viene ricaricata; ma sembra che richieda di nuovo i dati al server
qualche suggerimento??

Rispondi quotando