CPDFViewModeControl.xaml.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using ComPDFKitViewer;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Windows;
  5. using System.Windows.Controls;
  6. using static Compdfkit_Tools.PDFControlUI.CPDFViewModeUI;
  7. namespace Compdfkit_Tools.PDFControl
  8. {
  9. public partial class CPDFViewModeControl : UserControl
  10. {
  11. public PDFViewControl ViewControl;
  12. public event EventHandler<SplitMode> SplitModeChanged;
  13. public string CurrentContinuousMode = "Continuous";
  14. public string CurrentViewMode = "Single";
  15. public Dictionary<Tuple<string, string>, ViewModes> GetViewMode = new Dictionary<Tuple<string, string>, ViewModes>();
  16. public CPDFViewModeControl()
  17. {
  18. InitializeComponent();
  19. CPDFViewModeUI.Loaded += CPDFViewModeUI_Loaded;
  20. }
  21. public void InitWithPDFViewer(PDFViewControl viewControl)
  22. {
  23. this.ViewControl = viewControl;
  24. }
  25. private void CPDFViewModeUI_Loaded(object sender, RoutedEventArgs e)
  26. {
  27. GetViewMode.Clear();
  28. GetViewMode.Add(Tuple.Create("Continuous", "Single"), ViewModes.SingleContinuous);
  29. GetViewMode.Add(Tuple.Create("Continuous", "Double"), ViewModes.DoubleContinuous);
  30. GetViewMode.Add(Tuple.Create("Continuous", "Book"), ViewModes.BookContinuous);
  31. GetViewMode.Add(Tuple.Create("Discontinuous", "Single"), ViewModes.Single);
  32. GetViewMode.Add(Tuple.Create("Discontinuous", "Double"), ViewModes.Double);
  33. GetViewMode.Add(Tuple.Create("Discontinuous", "Book"), ViewModes.Book);
  34. CPDFViewModeUI.SetContinuousEvent += CPDFViewModeUI_SetContinuousEvent;
  35. CPDFViewModeUI.SetViewModeEvent += CPDFViewModeUI_SetViewModeEvent;
  36. CPDFViewModeUI.SplitModeChanged += CPDFViewModeUI_SplitModeChanged;
  37. }
  38. private void CPDFViewModeUI_SplitModeChanged(object sender, SplitMode e)
  39. {
  40. SplitModeChanged.Invoke(this, e);
  41. }
  42. private void CPDFViewModeUI_SetContinuousEvent(object sender, string e)
  43. {
  44. CurrentContinuousMode = (sender as RadioButton).Tag as string;
  45. if (ViewControl != null && ViewControl.PDFViewTool != null)
  46. {
  47. CPDFViewer pdfViewer = ViewControl.PDFViewTool.GetCPDFViewer();
  48. pdfViewer?.SetViewMode(GetViewMode[Tuple.Create(CurrentContinuousMode, CurrentViewMode)]);
  49. }
  50. }
  51. private void CPDFViewModeUI_SetViewModeEvent(object sender, string e)
  52. {
  53. CurrentViewMode = (sender as RadioButton).Tag as string;
  54. if (ViewControl != null && ViewControl.PDFViewTool != null)
  55. {
  56. CPDFViewer pdfViewer = ViewControl.PDFViewTool.GetCPDFViewer();
  57. pdfViewer?.SetViewMode(GetViewMode[Tuple.Create(CurrentContinuousMode, CurrentViewMode)]);
  58. }
  59. }
  60. }
  61. }