Ejemplo n.º 1
0
        public BoardsPageViewModel()
        {
            Favorites = new DelayLoadingObservableCollection <BoardViewModel>(100, true, 15, 100, 10);
            All       = new DelayLoadingObservableCollection <BoardViewModel>(50, true, 15, 100, 10);
            Watchlist = new DelayLoadingObservableCollection <ThreadViewModel>(100, true, 15, 100, 10);
            History   = new DelayLoadingObservableCollection <ThreadViewModel>(100, true, 15, 100, 10);

            Favorites.AddRange(CriticalSettingsManager.Current.Favorites.Select(x => new BoardViewModel(x)));
            Favorites.Flush(2);
            All.AddRange(CriticalSettingsManager.Current.Boards.Select(x => new BoardViewModel(x)));

            CriticalSettingsManager.Current.Favorites.CollectionChanged += FavoritesChanged;
            CriticalSettingsManager.Current.Boards.CollectionChanged    += AllChanged;

            App.InitialFrameRenderedTask.ContinueWith(task =>
            {
                if (_removedFromJournal)
                {
                    return;
                }

                Watchlist.AddRange(TransitorySettingsManager.Current.Watchlist.Select(x => new ThreadViewModel(x)));
                History.AddRange(TransitorySettingsManager.Current.History.Select(x => new ThreadViewModel(x)));

                TransitorySettingsManager.Current.Watchlist.CollectionChanged += WatchlistChanged;
                TransitorySettingsManager.Current.History.CollectionChanged   += HistoryChanged;
            }, TaskContinuationOptions.ExecuteSynchronously);
        }