CPDFDisplaySettingsControl.xaml.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using compdfkit_tools.PDFControlUI;
  2. using ComPDFKitViewer;
  3. using ComPDFKitViewer.PdfViewer;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows;
  10. using System.Windows.Controls;
  11. using System.Windows.Data;
  12. using System.Windows.Documents;
  13. using System.Windows.Input;
  14. using System.Windows.Media;
  15. using System.Windows.Media.Imaging;
  16. using System.Windows.Navigation;
  17. using System.Windows.Shapes;
  18. namespace compdfkit_tools.PDFControl
  19. {
  20. /// <summary>
  21. /// CPDFDisplaySettingsControl.xaml 的交互逻辑
  22. /// </summary>
  23. public partial class CPDFDisplaySettingsControl : UserControl
  24. {
  25. /// <summary>
  26. /// PDFViewer
  27. /// </summary>
  28. private CPDFViewer pdfView;
  29. public CPDFDisplaySettingsControl()
  30. {
  31. InitializeComponent();
  32. Loaded += CPDFDisplaySettingsControl_Loaded;
  33. }
  34. private void CPDFDisplaySettingsControl_Loaded(object sender, RoutedEventArgs e)
  35. {
  36. ViewModeUI.ViewModeChanged += ViewModeUI_ViewModeChanged;
  37. ViewModeUI.SplitModeChanged += ViewModeUI_SplitModeChanged;
  38. ViewModeUI.CropModeChanged += ViewModeUI_CropModeChanged;
  39. DrawModeUI.DrawModeChanged += DrawModeUI_DrawModeChanged;
  40. }
  41. private void ViewModeUI_CropModeChanged(object sender, bool e)
  42. {
  43. pdfView?.SetCropMode(e);
  44. }
  45. private void DrawModeUI_DrawModeChanged(object sender, DrawModeData e)
  46. {
  47. if (e.DrawMode != DrawModes.Draw_Mode_Custom)
  48. {
  49. pdfView?.SetDrawMode(e.DrawMode);
  50. pdfView?.ReloadDocument();
  51. }
  52. else
  53. {
  54. pdfView?.SetDrawMode(e.DrawMode,e.CustomColor);
  55. pdfView?.ReloadDocument();
  56. }
  57. }
  58. private void ViewModeUI_SplitModeChanged(object sender, SplitMode e)
  59. {
  60. pdfView?.SetSplitMode(e);
  61. }
  62. private void ViewModeUI_ViewModeChanged(object sender, ViewMode e)
  63. {
  64. pdfView?.ChangeViewMode(e);
  65. }
  66. /// <summary>
  67. /// 设置PDFViewer
  68. /// </summary>
  69. public void InitWithPDFViewer(CPDFViewer newPDFView)
  70. {
  71. pdfView = newPDFView;
  72. if(pdfView != null)
  73. {
  74. pdfView.InfoChanged -= PdfView_InfoChanged;
  75. pdfView.InfoChanged += PdfView_InfoChanged;
  76. ViewModeUI.SetSplitModeUI(pdfView.Mode);
  77. ViewModeUI.SetViewModeUI(pdfView.ModeView);
  78. ViewModeUI.SetCropUI(pdfView.IsCropMode());
  79. }
  80. }
  81. private void PdfView_InfoChanged(object sender, KeyValuePair<string, object> e)
  82. {
  83. if (e.Key == "ActiveViewIndex")
  84. {
  85. if (pdfView != null)
  86. {
  87. ViewModeUI.SetSplitModeUI(pdfView.Mode);
  88. ViewModeUI.SetViewModeUI(pdfView.ModeView);
  89. ViewModeUI.SetCropUI(pdfView.IsCropMode());
  90. }
  91. }
  92. }
  93. }
  94. }