StickyNoteProperty.xaml.cs 6.7 KB

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