using ComPDFKitViewer; using ComPDFKitViewer.PdfViewer; using PDF_Office.EventAggregators; using PDF_Office.Model; using Prism.Events; using Prism.Mvvm; using Prism.Regions; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PDF_Office.ViewModels.Scan { class ScanViwerViewModel : BindableBase, INavigationAware { private CPDFViewer PDFViewer; public bool IsNavigationTarget(NavigationContext navigationContext) { return true; } public void OnNavigatedFrom(NavigationContext navigationContext) { return; } public void OnNavigatedTo(NavigationContext navigationContext) { navigationContext.Parameters.TryGetValue(ParameterNames.PDFViewer, out PDFViewer); if (PDFViewer == null) { return; } else { PDFViewer.InfoChanged += PDFViewer_InfoChanged; } } private void PDFViewer_InfoChanged(object sender, KeyValuePair e) { if (e.Key == "PageNum") { RenderData renderData = e.Value as RenderData; if (renderData != null) { var CurrentPage = renderData.PageIndex; } } } public ScanViwerViewModel(IEventAggregator eventAggregator) { eventAggregator.GetEvent().Subscribe(ChangeScanMode, e => e.Unicode == App.mainWindowViewModel.SelectedItem.Unicode); } /// /// 根据Vm事件通知处理OCR与区域识别事件 /// /// private void ChangeScanMode(ScanEventArgs e) { switch (e.Mode) { case ScanMode.Unknown: break; case ScanMode.OCR: break; case ScanMode.Area: break; default: break; } } } }