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(); }); }
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; } } }
private void SelectAllButton_Click(object sender, RoutedEventArgs e) => HistoryViewList.SelectAll();
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; }