예제 #1
0
        private async Task UpdateFilterResultAsync()
        {
            await Parent.ExecuteAsync(() =>
            {
                using (var ps = Progress.Start(_originalChannelList.Count, LongRunningState.No))
                {
                    _filterProgressScope = ps;

                    Channels.Clear();
                    ChannelsFilterView.Refresh();
                    _filterProgressScope = null;
                }
            });
        }
예제 #2
0
        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;
        }