ViewModularContentViewModel.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using ComPDFKitViewer.PdfViewer;
  2. using PDF_Office.Model;
  3. using Prism.Commands;
  4. using Prism.Mvvm;
  5. using Prism.Regions;
  6. using Prism.Services.Dialogs;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace PDF_Office.ViewModels.PropertyPanel
  13. {
  14. public class ViewModularContentViewModel : BindableBase, INavigationAware
  15. {
  16. public IRegionManager region;
  17. public IDialogService dialogs;
  18. public CPDFViewer PDFViewer { get; set; }
  19. public string SplitScreenViewRegionName { get; set; }
  20. public DelegateCommand<object> VerticalSplitScreenCommand { get; set; }
  21. public ViewModularContentViewModel(IRegionManager regionManager, IDialogService dialogService)
  22. {
  23. region = regionManager;
  24. dialogs = dialogService;
  25. SplitScreenViewRegionName = RegionNames.SplitScreenViewRegionName;
  26. VerticalSplitScreenCommand = new DelegateCommand<object>(VerticalSplitScreenEvent);
  27. //System.Windows.Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Send, new Action(() =>
  28. //{
  29. // NavigationParameters parameters = new NavigationParameters();
  30. // parameters.Add(ParameterNames.PDFViewer, PDFViewer);
  31. // parameters.Add(ParameterNames.ViewContentViewModel, this);
  32. // region.RequestNavigate(RegionNames.SplitScreenViewRegionName, "SplitScreenView", parameters);
  33. //}
  34. //));
  35. }
  36. private void VerticalSplitScreenEvent(object obj)
  37. {
  38. NavigationParameters param = new NavigationParameters();
  39. param.Add(ParameterNames.PDFViewer, PDFViewer);
  40. region.RequestNavigate(RegionNames.SplitScreenViewRegionName, "SplitScreenView", param);
  41. }
  42. public bool IsNavigationTarget(NavigationContext navigationContext)
  43. {
  44. return true;
  45. }
  46. public void OnNavigatedFrom(NavigationContext navigationContext)
  47. {
  48. }
  49. public void OnNavigatedTo(NavigationContext navigationContext)
  50. {
  51. var pdfview = navigationContext.Parameters[ParameterNames.PDFViewer] as CPDFViewer;
  52. if (pdfview != null)
  53. {
  54. PDFViewer = pdfview;
  55. }
  56. }
  57. }
  58. }