private async Task UpdateFilterResultAsync() { await Parent.ExecuteAsync(() => { using (var ps = Progress.Start(_originalListenerList.Count, LongRunningState.No)) { _filterProgressScope = ps; Listeners.Clear(); ListenersFilterView.Refresh(); _filterProgressScope = null; } }); }
private void InitCollectionView(List <ListenerInfo> listeners) { _originalListenerList = listeners; HasSystemListeners = listeners.Any(q => q.ListenerSource.IsSystemListener); ListenersFilterView = (CollectionView)CollectionViewSource.GetDefaultView(listeners); Listeners.Clear(); using (_filterProgressScope = Progress.Start(listeners.Count, LongRunningState.No)) { using (ListenersFilterView.DeferRefresh()) { ListenersFilterView.Filter = OnListenersViewFilter; ListenersFilterView.SortDescriptions.Add( new SortDescription("Name", ListSortDirection.Ascending)); } } StatusInfoViewModel.LastUpdateTimestamp = DateTime.Now; }