using ComPDFKit.PDFDocument; using ComPDFKitViewer.PdfViewer; using PDF_Office.Model; using Prism.Mvvm; using Prism.Regions; using Prism.Services.Dialogs; using System.Collections.ObjectModel; using System.Linq; using System.Windows; namespace PDF_Office.ViewModels.BOTA { public class BookmarkContentViewModel : BindableBase, INavigationAware { #region 属性 private IRegionManager region; private IDialogService dialogs; public CPDFViewer PDFViewer; //public ObservableCollection Bookmarklist { get; set; } private ObservableCollection list; private ObservableCollection bookmarklist; public ObservableCollection Bookmarklist { get { return bookmarklist; } set { SetProperty(ref bookmarklist, value); } } private Visibility isEmptyPanelVisibility = Visibility.Visible; public Visibility IsEmptyPanelVisibility { get { return isEmptyPanelVisibility; } set { SetProperty(ref isEmptyPanelVisibility, value); } } #endregion 属性 public BookmarkContentViewModel(IRegionManager regionManager, IDialogService dialogService) { region = regionManager; dialogs = dialogService; } public void OnNavigatedTo(NavigationContext navigationContext) { navigationContext.Parameters.TryGetValue(ParameterNames.PDFViewer, out PDFViewer); if (PDFViewer == null) { return; } Bookmarklist = new ObservableCollection(PDFViewer.Document.GetBookmarkList().OrderBy(d => d.Title)); if (Bookmarklist.Count < 1) { IsEmptyPanelVisibility = Visibility.Visible; return; } else { isEmptyPanelVisibility = Visibility.Collapsed; } } public bool IsNavigationTarget(NavigationContext navigationContext) { return true; } public void OnNavigatedFrom(NavigationContext navigationContext) { } } }