AlertsMessage.xaml.cs 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  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. Width = 408;
  66. if (ownerWindow != null)
  67. {
  68. this.Owner = ownerWindow;
  69. ShowDialog();
  70. }
  71. }
  72. /// <summary>
  73. /// 一个按钮弹窗
  74. /// </summary>
  75. public void Show(string title, string content,string okBtn)
  76. {
  77. TitleText.Text = title;
  78. ContentText.Text = content;
  79. CancelBtn.Visibility = Visibility.Collapsed;
  80. MiddleCancelBtn.Visibility = Visibility.Collapsed;
  81. OkBtn.Content = okBtn;
  82. Width = 408;
  83. this.Show();
  84. }
  85. /// <summary>
  86. /// 两个按钮弹窗
  87. /// </summary>
  88. public void Show(string title,string content,string cancelBtn,string okBtn)
  89. {
  90. TitleText.Text = title;
  91. ContentText.Text = content;
  92. CancelBtn.Visibility = Visibility.Collapsed;
  93. MiddleCancelBtn.Content = cancelBtn;
  94. OkBtn.Content = okBtn;
  95. Width = 408;
  96. this.Show();
  97. }
  98. /// <summary>
  99. /// 三个按钮弹窗
  100. /// </summary>
  101. public void Show(string title, string content, string cancelBtn1, string cancelBtn2, string okBtn)
  102. {
  103. TitleText.Text = title;
  104. ContentText.Text = content;
  105. CancelBtn.Visibility = Visibility.Visible;
  106. CancelBtn.Content = cancelBtn1;
  107. MiddleCancelBtn.Content = cancelBtn2;
  108. OkBtn.Content = okBtn;
  109. this.Show();
  110. }
  111. public void ShowDialog(string title, string content, string okBtn)
  112. {
  113. TitleText.Text = title;
  114. ContentText.Text = content;
  115. CancelBtn.Visibility = Visibility.Collapsed;
  116. MiddleCancelBtn.Visibility = Visibility.Collapsed;
  117. OkBtn.Content = okBtn;
  118. Width = 408;
  119. if (ownerWindow != null)
  120. {
  121. Owner = ownerWindow;
  122. WindowStartupLocation = WindowStartupLocation.CenterOwner;
  123. ShowDialog();
  124. }
  125. }
  126. public void ShowDialog(string title, string content, string cancelBtn, string okBtn,IconType type = IconType.None)
  127. {
  128. TitleText.Text = title;
  129. ContentText.Text = content;
  130. CancelBtn.Visibility = Visibility.Collapsed;
  131. MiddleCancelBtn.Content = cancelBtn;
  132. OkBtn.Content = okBtn;
  133. Width = 408;
  134. ShowIcon(type);
  135. if (ownerWindow != null)
  136. {
  137. Owner = ownerWindow;
  138. WindowStartupLocation = WindowStartupLocation.CenterOwner;
  139. ShowDialog();
  140. }
  141. }
  142. public void ShowDialog(string title, string content, string cancelBtn1, string cancelBtn2, string okBtn)
  143. {
  144. TitleText.Text = title;
  145. ContentText.Text = content;
  146. CancelBtn.Visibility = Visibility.Visible;
  147. CancelBtn.Content = cancelBtn1;
  148. MiddleCancelBtn.Content = cancelBtn2;
  149. OkBtn.Content = okBtn;
  150. if (ownerWindow != null)
  151. {
  152. Owner = ownerWindow;
  153. WindowStartupLocation = WindowStartupLocation.CenterOwner;
  154. ShowDialog();
  155. }
  156. }
  157. private void ShowIcon(IconType type)
  158. {
  159. //先隐藏所有图标
  160. ImgTips.Visibility = Visibility.Collapsed;
  161. switch (type)
  162. {
  163. case IconType.Tip:
  164. GridIcon.Visibility = Visibility.Visible;
  165. ImgTips.Visibility = Visibility.Visible;
  166. break;
  167. case IconType.Ask:
  168. break;
  169. case IconType.Error:
  170. break;
  171. case IconType.None:
  172. default:
  173. GridIcon.Visibility = Visibility.Collapsed;
  174. break;
  175. }
  176. }
  177. private void CancelBtn_Click(object sender, RoutedEventArgs e)
  178. {
  179. result = ContentResult.Cancel;
  180. Close();
  181. }
  182. private void MiddleCancelBtn_Click(object sender, RoutedEventArgs e)
  183. {
  184. result = ContentResult.MiddleCancel;
  185. Close();
  186. }
  187. private void OkBtn_Click(object sender, RoutedEventArgs e)
  188. {
  189. result = ContentResult.Ok;
  190. Close();
  191. }
  192. private void Border_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
  193. {
  194. this.DragMove();
  195. }
  196. private void ChbDonotAskAgain_Checked(object sender, RoutedEventArgs e)
  197. {
  198. isChecked = true;
  199. }
  200. private void ChbDonotAskAgain_Unchecked(object sender, RoutedEventArgs e)
  201. {
  202. isChecked = false;
  203. }
  204. }
  205. }