StickyNoteProperty.xaml.cs 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. using ComPDFKitViewer.AnnotEvent;
  2. using Microsoft.Office.Interop.Excel;
  3. using PDF_Master.ViewModels.PropertyPanel.AnnotPanel;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.ComponentModel;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows;
  11. using System.Windows.Controls;
  12. using System.Windows.Data;
  13. using System.Windows.Documents;
  14. using System.Windows.Input;
  15. using System.Windows.Markup;
  16. using System.Windows.Media;
  17. using System.Windows.Media.Imaging;
  18. using System.Windows.Navigation;
  19. using System.Windows.Shapes;
  20. namespace PDF_Master.Views.PropertyPanel.AnnotPanel
  21. {
  22. /// <summary>
  23. /// StickyNoteProperty.xaml 的交互逻辑
  24. /// </summary>
  25. public partial class StickyNoteProperty : UserControl
  26. {
  27. private StickyNotePropertyViewModel ViewModel => DataContext as StickyNotePropertyViewModel;
  28. public StickyNoteProperty()
  29. {
  30. InitializeComponent();
  31. }
  32. private void ViewModel_LoadPropertyHandler(object sender, object e)
  33. {
  34. var item = e as AnnotHandlerEventArgs;
  35. switch (item.EventType)
  36. {
  37. case AnnotArgsType.AnnotHighlight:
  38. {
  39. var annot = item as TextHighlightAnnotArgs;
  40. if (annot != null)
  41. {
  42. cusColor.SelectedColor = annot.Color;
  43. SlidOpacity.SetSliOpacity(annot.Transparency);
  44. }
  45. break;
  46. }
  47. case AnnotArgsType.AnnotUnderline:
  48. {
  49. var annot = item as TextUnderlineAnnotArgs;
  50. if (annot != null)
  51. {
  52. cusColor.SelectedColor = annot.Color;
  53. SlidOpacity.SetSliOpacity(annot.Transparency);
  54. }
  55. break;
  56. }
  57. case AnnotArgsType.AnnotStrikeout:
  58. {
  59. var annot = item as TextStrikeoutAnnotArgs;
  60. if (annot != null)
  61. {
  62. cusColor.SelectedColor = annot.Color;
  63. SlidOpacity.SetSliOpacity(annot.Transparency);
  64. }
  65. break;
  66. }
  67. }
  68. }
  69. private void SlidOpacity_SelectedValue(object sender, double e)
  70. {
  71. //if (ViewModel != null)
  72. //{
  73. // ViewModel.SelectedValueChangedCommand?.Execute(e);
  74. //}
  75. }
  76. private void cusColor_SelectedColor(object sender, Color e)
  77. {
  78. //if (ViewModel != null)
  79. //{
  80. // ViewModel.SelectedColorChangedCommand?.Execute(e);
  81. //}
  82. }
  83. private void UserControl_Loaded(object sender, RoutedEventArgs e)
  84. {
  85. if(ViewModel != null)
  86. {
  87. var converter = TypeDescriptor.GetConverter(typeof(Geometry));
  88. switch (ViewModel.strOtherTag)
  89. {
  90. case "Comment":
  91. BtnComment.IsChecked = true;
  92. var dataComment = ViewModel.StickyNoteTypes[ViewModel.strOtherTag];
  93. ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataComment);
  94. break;
  95. case "Note":
  96. BtnNote.IsChecked = true;
  97. var dataNote = ViewModel.StickyNoteTypes[ViewModel.strOtherTag];
  98. ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataNote);
  99. break;
  100. case "Key":
  101. BtnKey.IsChecked = true;
  102. var dataKey = ViewModel.StickyNoteTypes[ViewModel.strOtherTag];
  103. ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataKey);
  104. break;
  105. case "Help":
  106. BtnHelp.IsChecked = true;
  107. var dataHelp = ViewModel.StickyNoteTypes[ViewModel.strOtherTag];
  108. ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataHelp);
  109. break;
  110. case "Insert":
  111. BtnInsert.IsChecked = true;
  112. var dataInsert = ViewModel.StickyNoteTypes[ViewModel.strOtherTag];
  113. ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataInsert);
  114. break;
  115. case "Paragraph":
  116. BtnParagraph.IsChecked = true;
  117. var dataParagraph = ViewModel.StickyNoteTypes[ViewModel.strOtherTag];
  118. ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataParagraph);
  119. break;
  120. case "NewParagraph":
  121. BtnNewParagraph.IsChecked = true;
  122. var dataNewParagraph = ViewModel.StickyNoteTypes[ViewModel.strOtherTag];
  123. ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(dataNewParagraph);
  124. break;
  125. case "None":
  126. BtnComment.IsChecked = false;
  127. BtnNote.IsChecked = false;
  128. BtnKey.IsChecked = false;
  129. BtnHelp.IsChecked = false;
  130. BtnInsert.IsChecked = false;
  131. BtnParagraph.IsChecked = false;
  132. BtnNewParagraph.IsChecked = false;
  133. break;
  134. default:
  135. BtnComment.IsChecked = true;
  136. var datacomment = ViewModel.StickyNoteTypes["Comment"];
  137. ViewModel.ExmpleData = (Geometry)converter.ConvertFrom(datacomment);
  138. break;
  139. }
  140. if (ViewModel.IsFirst) { ViewModel.SharpCurrentColor = App.Current.FindResource("color.sys.layout.divider.note") as Brush;
  141. ViewModel.SharpColor = ViewModel.SharpColor;
  142. ViewModel.IsFirst = false;
  143. }
  144. }
  145. // cusColor.SelectedColorHandler -= cusColor_SelectedColor;
  146. // cusColor.SelectedColorHandler += cusColor_SelectedColor;
  147. // SlidOpacity.SelectedValueChanged -= SlidOpacity_SelectedValue;
  148. // SlidOpacity.SelectedValueChanged += SlidOpacity_SelectedValue;
  149. // ViewModel.LoadPropertyHandler -= ViewModel_LoadPropertyHandler;
  150. // ViewModel.LoadPropertyHandler += ViewModel_LoadPropertyHandler;
  151. }
  152. private void UserControl_Unloaded(object sender, RoutedEventArgs e)
  153. {
  154. // cusColor.SelectedColorHandler -= cusColor_SelectedColor;
  155. // SlidOpacity.SelectedValueChanged -= SlidOpacity_SelectedValue;
  156. // ViewModel.LoadPropertyHandler -= ViewModel_LoadPropertyHandler;
  157. }
  158. }
  159. }