コード例 #1
0
 private void History_CollectionChanged(object sender, EventArgs e)
 {
     Dispatcher.Invoke(() =>
     {
         HistoryViewList.ItemsSource =
             stateMachine.History.Select(x => new HistoryControl(x));
         if (HistoryViewList.Items.Count > 0)
         {
             HistoryViewList.ScrollIntoView(HistoryViewList.Items[HistoryViewList.Items.Count - 1]);
         }
         UpdateWordView();
     });
 }
コード例 #2
0
 private void HandleNavigationParameter(object parameter)
 {
     if (parameter is string paramString)
     {
         var item = VMCollection.FirstOrDefault(vm =>
                                                vm.TaskKey.Equals(paramString));
         if (item != null)
         {
             HistoryViewList.ScrollIntoView(item);
             HistoryViewList.SelectionMode = ListViewSelectionMode.Single;
             HistoryViewList.SelectedItem  = item;
         }
     }
 }
コード例 #3
0
 private void SelectAllButton_Click(object sender, RoutedEventArgs e) => HistoryViewList.SelectAll();
コード例 #4
0
        public async Task UpdateRecentViewAsync()
        {
            if (IsLoading || !App.IsHistoryListChanged)
            {
                return;
            }
            LoadingText = "updating recent data...";
            IsLoading   = true;
            if (HistoryViewList == null)
            {
                HistoryViewList = new ObservableCollection <HistoryItemViewModel>();
            }
            if (App.HistoryList == null)
            {
                await App.LoadHistoryDataAsync();
            }
            var historyList = App.HistoryList;

            HistoryViewList.Clear();
            for (int idx = historyList.Count - 1; idx >= 0; idx--)
            {
                var item = historyList[idx];
                var hvm  = new HistoryItemViewModel
                {
                    Position           = item.Position,
                    ProgressPercentage = item.Progress,
                    CoverImageUri      = item.DescriptionImageUri,
                    Description        = item.ContentDescription,
                    ChapterTitle       = item.ChapterTitle,
                    VolumeTitle        = item.VolumeTitle,
                    SeriesTitle        = item.SeriesTitle,
                    UpdateTime         = item.ViewDate
                };
                HistoryViewList.Add(hvm);

                //if (String.IsNullOrWhiteSpace(item.Position.VolumeId)) continue;
                //var series = await LightKindomHtmlClient.GetSeriesAsync(item.Position.SeriesId);
                ////var volume = await LightKindomHtmlClient.GetVolumeAsync(item.Position.VolumeId);
                //var volume = series.Volumes.First(vol => vol.Id == item.Position.VolumeId);
                //hvm.SeriesTitle = series.Title;
                //hvm.CoverImageUri = volume.CoverImageUri;
                //hvm.VolumeTitle = volume.Title;
                //hvm.ChapterTitle = volume.ChapterList[item.Position.ChapterNumber];
            }

            var mainTile = ShellTile.ActiveTiles.FirstOrDefault();

            if (mainTile != null && historyList.Count > 0)
            {
                var latestItem = historyList[historyList.Count - 1];
                var imageUri   = new Uri(latestItem.DescriptionImageUri);
                var data       = new FlipTileData
                {
                    SmallBackgroundImage = imageUri,
                    BackgroundImage      = imageUri,
                    Title       = "Light Novel",
                    BackTitle   = latestItem.VolumeTitle,
                    BackContent = latestItem.ContentDescription,
                };
                mainTile.Update(data);
                CoverBackgroundImageUri = imageUri;
            }
            App.IsHistoryListChanged = false;
            IsLoading          = false;
            IsRecentDataLoaded = true;
        }