private async Task UpdateFilterResultAsync() { await Parent.ExecuteAsync(() => { using (var ps = Progress.Start(_originalQueueList.Count, LongRunningState.No)) { _filterProgressScope = ps; Queues.Clear(); QueuesFilterView.Refresh(); _filterProgressScope = null; } }); }
private void InitCollectionView(List <QueueInfo> queues) { _originalQueueList = queues; HasSystemQueues = queues.Any(q => q.QueueSource.IsSystemQueue); QueuesFilterView = (CollectionView)CollectionViewSource.GetDefaultView(queues); Queues.Clear(); using (_filterProgressScope = Progress.Start(queues.Count, LongRunningState.No)) { using (QueuesFilterView.DeferRefresh()) { QueuesFilterView.Filter = OnQueuesViewFilter; QueuesFilterView.SortDescriptions.Add( new SortDescription("Name", ListSortDirection.Ascending)); } } StatusInfoViewModel.LastUpdateTimestamp = DateTime.Now; }