AlertsMessage.xaml.cs 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Shapes;
  14. namespace PDF_Master.CustomControl
  15. {
  16. public enum ContentResult
  17. {
  18. Cancel,
  19. MiddleCancel,
  20. Ok
  21. }
  22. /// <summary>
  23. /// 图标类型
  24. /// </summary>
  25. public enum IconType
  26. {
  27. Tip,
  28. Ask,
  29. Error,
  30. None
  31. }
  32. /// <summary>
  33. /// AlertsMessage.xaml 的交互逻辑
  34. /// 因为是纯UI的逻辑显示,所以没有再创建VM
  35. /// </summary>
  36. public partial class AlertsMessage : Window
  37. {
  38. public ContentResult result = ContentResult.Cancel;
  39. public bool isChecked = false;
  40. private Window ownerWindow;
  41. public AlertsMessage()
  42. {
  43. InitializeComponent();
  44. if (App.Current.MainWindow != this)
  45. {
  46. ownerWindow = App.Current.MainWindow;
  47. }
  48. }
  49. public void ShowAskAgainCheck()
  50. {
  51. ChbDonotAskAgain.Visibility = Visibility.Visible;
  52. }
  53. /// <summary>
  54. /// 两个按钮弹窗
  55. /// </summary>
  56. public void HaveCheckBoxShow(string title, string content,string contentCheckBox, string cancelBtn, string okBtn)
  57. {
  58. TitleText.Text = title;
  59. ContentText.Text = content;
  60. CancelBtn.Visibility = Visibility.Collapsed;
  61. MiddleCancelBtn.Content = cancelBtn;
  62. OkBtn.Content = okBtn;
  63. ChbDonotAskAgain.Content = contentCheckBox;
  64. ChbDonotAskAgain.Visibility = Visibility.Visible;
  65. if (ownerWindow != null)
  66. {
  67. this.Owner = ownerWindow;
  68. ShowDialog();
  69. }
  70. }
  71. /// <summary>
  72. /// 一个按钮弹窗
  73. /// </summary>
  74. public void Show(string title, string content,string okBtn)
  75. {
  76. TitleText.Text = title;
  77. ContentText.Text = content;
  78. CancelBtn.Visibility = Visibility.Collapsed;
  79. MiddleCancelBtn.Visibility = Visibility.Collapsed;
  80. OkBtn.Content = okBtn;
  81. this.Show();
  82. }
  83. /// <summary>
  84. /// 两个按钮弹窗
  85. /// </summary>
  86. public void Show(string title,string content,string cancelBtn,string okBtn)
  87. {
  88. TitleText.Text = title;
  89. ContentText.Text = content;
  90. CancelBtn.Visibility = Visibility.Collapsed;
  91. MiddleCancelBtn.Content = cancelBtn;
  92. OkBtn.Content = okBtn;
  93. this.Show();
  94. }
  95. /// <summary>
  96. /// 三个按钮弹窗
  97. /// </summary>
  98. public void Show(string title, string content, string cancelBtn1, string cancelBtn2, string okBtn)
  99. {
  100. TitleText.Text = title;
  101. ContentText.Text = content;
  102. CancelBtn.Visibility = Visibility.Visible;
  103. CancelBtn.Content = cancelBtn1;
  104. MiddleCancelBtn.Content = cancelBtn2;
  105. OkBtn.Content = okBtn;
  106. this.Show();
  107. }
  108. public void ShowDialog(string title, string content, string okBtn)
  109. {
  110. TitleText.Text = title;
  111. ContentText.Text = content;
  112. CancelBtn.Visibility = Visibility.Collapsed;
  113. MiddleCancelBtn.Visibility = Visibility.Collapsed;
  114. OkBtn.Content = okBtn;
  115. if (ownerWindow != null)
  116. {
  117. Owner = ownerWindow;
  118. WindowStartupLocation = WindowStartupLocation.CenterOwner;
  119. ShowDialog();
  120. }
  121. }
  122. public void ShowDialog(string title, string content, string cancelBtn, string okBtn,IconType type = IconType.None)
  123. {
  124. TitleText.Text = title;
  125. ContentText.Text = content;
  126. CancelBtn.Visibility = Visibility.Collapsed;
  127. MiddleCancelBtn.Content = cancelBtn;
  128. OkBtn.Content = okBtn;
  129. ShowIcon(type);
  130. if (ownerWindow != null)
  131. {
  132. Owner = ownerWindow;
  133. WindowStartupLocation = WindowStartupLocation.CenterOwner;
  134. ShowDialog();
  135. }
  136. }
  137. public void ShowDialog(string title, string content, string cancelBtn1, string cancelBtn2, string okBtn)
  138. {
  139. TitleText.Text = title;
  140. ContentText.Text = content;
  141. CancelBtn.Visibility = Visibility.Visible;
  142. CancelBtn.Content = cancelBtn1;
  143. MiddleCancelBtn.Content = cancelBtn2;
  144. OkBtn.Content = okBtn;
  145. if (ownerWindow != null)
  146. {
  147. Owner = ownerWindow;
  148. WindowStartupLocation = WindowStartupLocation.CenterOwner;
  149. ShowDialog();
  150. }
  151. }
  152. private void ShowIcon(IconType type)
  153. {
  154. //先隐藏所有图标
  155. ImgTips.Visibility = Visibility.Collapsed;
  156. switch (type)
  157. {
  158. case IconType.Tip:
  159. GridIcon.Visibility = Visibility.Visible;
  160. ImgTips.Visibility = Visibility.Visible;
  161. break;
  162. case IconType.Ask:
  163. break;
  164. case IconType.Error:
  165. break;
  166. case IconType.None:
  167. default:
  168. GridIcon.Visibility = Visibility.Collapsed;
  169. break;
  170. }
  171. }
  172. private void CancelBtn_Click(object sender, RoutedEventArgs e)
  173. {
  174. result = ContentResult.Cancel;
  175. Close();
  176. }
  177. private void MiddleCancelBtn_Click(object sender, RoutedEventArgs e)
  178. {
  179. result = ContentResult.MiddleCancel;
  180. Close();
  181. }
  182. private void OkBtn_Click(object sender, RoutedEventArgs e)
  183. {
  184. result = ContentResult.Ok;
  185. Close();
  186. }
  187. private void Border_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
  188. {
  189. this.DragMove();
  190. }
  191. private void ChbDonotAskAgain_Checked(object sender, RoutedEventArgs e)
  192. {
  193. if (IsLoaded)
  194. {
  195. isChecked = true;
  196. }
  197. }
  198. private void ChbDonotAskAgain_Unchecked(object sender, RoutedEventArgs e)
  199. {
  200. if (IsLoaded)
  201. {
  202. isChecked = false;
  203. }
  204. }
  205. }
  206. }