AlertsMessage.xaml.cs 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  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. ownerWindow = App.Current.MainWindow;
  45. }
  46. public void ShowAskAgainCheck()
  47. {
  48. ChbDonotAskAgain.Visibility = Visibility.Visible;
  49. }
  50. /// <summary>
  51. /// 两个按钮弹窗
  52. /// </summary>
  53. public void HaveCheckBoxShow(string title, string content,string contentCheckBox, string cancelBtn, string okBtn)
  54. {
  55. TitleText.Text = title;
  56. ContentText.Text = content;
  57. CancelBtn.Visibility = Visibility.Collapsed;
  58. MiddleCancelBtn.Content = cancelBtn;
  59. OkBtn.Content = okBtn;
  60. ChbDonotAskAgain.Content = contentCheckBox;
  61. ChbDonotAskAgain.Visibility = Visibility.Visible;
  62. Width = 408;
  63. if (ownerWindow != null)
  64. {
  65. this.Owner = ownerWindow;
  66. ShowDialog();
  67. }
  68. }
  69. /// <summary>
  70. /// 一个按钮弹窗
  71. /// </summary>
  72. public void Show(string title, string content,string okBtn)
  73. {
  74. TitleText.Text = title;
  75. ContentText.Text = content;
  76. CancelBtn.Visibility = Visibility.Collapsed;
  77. MiddleCancelBtn.Visibility = Visibility.Collapsed;
  78. OkBtn.Content = okBtn;
  79. Width = 408;
  80. this.Show();
  81. }
  82. /// <summary>
  83. /// 两个按钮弹窗
  84. /// </summary>
  85. public void Show(string title,string content,string cancelBtn,string okBtn)
  86. {
  87. TitleText.Text = title;
  88. ContentText.Text = content;
  89. CancelBtn.Visibility = Visibility.Collapsed;
  90. MiddleCancelBtn.Content = cancelBtn;
  91. OkBtn.Content = okBtn;
  92. Width = 408;
  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. Width = 408;
  116. if (ownerWindow != null)
  117. {
  118. Owner = ownerWindow;
  119. WindowStartupLocation = WindowStartupLocation.CenterOwner;
  120. ShowDialog();
  121. }
  122. }
  123. public void ShowDialog(string title, string content, string cancelBtn, string okBtn,IconType type = IconType.None)
  124. {
  125. TitleText.Text = title;
  126. ContentText.Text = content;
  127. CancelBtn.Visibility = Visibility.Collapsed;
  128. MiddleCancelBtn.Content = cancelBtn;
  129. OkBtn.Content = okBtn;
  130. Width = 408;
  131. ShowIcon(type);
  132. if (ownerWindow != null)
  133. {
  134. Owner = ownerWindow;
  135. WindowStartupLocation = WindowStartupLocation.CenterOwner;
  136. ShowDialog();
  137. }
  138. }
  139. public void ShowDialog(string title, string content, string cancelBtn1, string cancelBtn2, string okBtn)
  140. {
  141. TitleText.Text = title;
  142. ContentText.Text = content;
  143. CancelBtn.Visibility = Visibility.Visible;
  144. CancelBtn.Content = cancelBtn1;
  145. MiddleCancelBtn.Content = cancelBtn2;
  146. OkBtn.Content = okBtn;
  147. if (ownerWindow != null)
  148. {
  149. Owner = ownerWindow;
  150. WindowStartupLocation = WindowStartupLocation.CenterOwner;
  151. ShowDialog();
  152. }
  153. }
  154. private void ShowIcon(IconType type)
  155. {
  156. //先隐藏所有图标
  157. ImgTips.Visibility = Visibility.Collapsed;
  158. switch (type)
  159. {
  160. case IconType.Tip:
  161. GridIcon.Visibility = Visibility.Visible;
  162. ImgTips.Visibility = Visibility.Visible;
  163. break;
  164. case IconType.Ask:
  165. break;
  166. case IconType.Error:
  167. break;
  168. case IconType.None:
  169. default:
  170. GridIcon.Visibility = Visibility.Collapsed;
  171. break;
  172. }
  173. }
  174. private void CancelBtn_Click(object sender, RoutedEventArgs e)
  175. {
  176. result = ContentResult.Cancel;
  177. Close();
  178. }
  179. private void MiddleCancelBtn_Click(object sender, RoutedEventArgs e)
  180. {
  181. result = ContentResult.MiddleCancel;
  182. Close();
  183. }
  184. private void OkBtn_Click(object sender, RoutedEventArgs e)
  185. {
  186. result = ContentResult.Ok;
  187. Close();
  188. }
  189. private void Border_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
  190. {
  191. this.DragMove();
  192. }
  193. private void ChbDonotAskAgain_Checked(object sender, RoutedEventArgs e)
  194. {
  195. isChecked = true;
  196. }
  197. private void ChbDonotAskAgain_Unchecked(object sender, RoutedEventArgs e)
  198. {
  199. isChecked = false;
  200. }
  201. }
  202. }