private async Task UpdateFilterResultAsync() { await Parent.ExecuteAsync(() => { using (var ps = Progress.Start(_originalChannelList.Count, LongRunningState.No)) { _filterProgressScope = ps; Channels.Clear(); ChannelsFilterView.Refresh(); _filterProgressScope = null; } }); }
private void InitCollectionView(List <ChannelInfo> channels) { _originalChannelList = channels; HasSystemChannels = channels.Any(q => q.ChannelSource.IsSystemChannel); ChannelsFilterView = (CollectionView)CollectionViewSource.GetDefaultView(channels); Channels.Clear(); using (_filterProgressScope = Progress.Start(channels.Count, LongRunningState.No)) { using (ChannelsFilterView.DeferRefresh()) { ChannelsFilterView.Filter = OnChannelsViewFilter; ChannelsFilterView.SortDescriptions.Add( new SortDescription("Name", ListSortDirection.Ascending)); } } StatusInfoViewModel.LastUpdateTimestamp = DateTime.Now; }