| | |
| | | using Panuon.WPF.UI; |
| | | using System.Windows; |
| | | using Panuon.WPF.UI.Configurations; |
| | | using HMI.Core.Util; |
| | | |
| | | namespace HMI.UI.Util |
| | | { |
| | | public class MsgBoxHelper |
| | | { |
| | | #region Warn |
| | | public static MessageBoxResult WarnMessage(Window owner, |
| | | public static MessageBoxResult WarnMessage(DependencyObject owner, |
| | | string message, |
| | | string caption = "警告", |
| | | string caption = null, |
| | | MessageBoxButton button = MessageBoxButton.OKCancel, |
| | | MessageBoxIcon icon = MessageBoxIcon.Warning, |
| | | DefaultButton defaultButton = DefaultButton.Unset, int? countdown = null) |
| | | { |
| | | caption = caption ?? LangUtil.Get("App.Warn"); |
| | | var setting = Application.Current.FindResource("MsgBoxWarn") as MessageBoxXSetting; |
| | | return MessageBoxX.Show(owner, message, caption, button, icon, defaultButton, setting, countdown); |
| | | return ShowMessage(owner, message, caption, button, icon, defaultButton, setting, countdown); |
| | | } |
| | | #endregion |
| | | |
| | | #region Error |
| | | public static MessageBoxResult ErrorMessage(Window owner, |
| | | public static MessageBoxResult ErrorMessage(DependencyObject owner, |
| | | string message, |
| | | string caption = "错误", |
| | | string caption = null, |
| | | MessageBoxButton button = MessageBoxButton.OKCancel, |
| | | MessageBoxIcon icon = MessageBoxIcon.Error, |
| | | DefaultButton defaultButton = DefaultButton.Unset, int? countdown = null) |
| | | { |
| | | caption = caption ?? LangUtil.Get("App.Error"); |
| | | var setting = Application.Current.FindResource("MsgBoxError") as MessageBoxXSetting; |
| | | return MessageBoxX.Show(owner, message, caption, button, icon, defaultButton, setting, countdown); |
| | | return ShowMessage(owner, message, caption, button, icon, defaultButton, setting, countdown); |
| | | } |
| | | |
| | | public static MessageBoxResult Error(DependencyObject owner, |
| | | string message, |
| | | string caption = null, |
| | | MessageBoxButton button = MessageBoxButton.OK, |
| | | MessageBoxIcon icon = MessageBoxIcon.Error, |
| | | DefaultButton defaultButton = DefaultButton.Unset, int? countdown = null) |
| | | { |
| | | caption = caption ?? LangUtil.Get("App.Error"); |
| | | var setting = Application.Current.FindResource("MsgBoxError") as MessageBoxXSetting; |
| | | return ShowMessage(owner, message, caption, button, icon, defaultButton, setting, countdown); |
| | | } |
| | | #endregion |
| | | |
| | | #region Info |
| | | public static MessageBoxResult InfoMessage(Window owner, |
| | | public static MessageBoxResult InfoMessage(DependencyObject owner, |
| | | string message, |
| | | string caption = "提示", |
| | | string caption = null, |
| | | MessageBoxButton button = MessageBoxButton.OKCancel, |
| | | MessageBoxIcon icon = MessageBoxIcon.Info, |
| | | DefaultButton defaultButton = DefaultButton.Unset, int? countdown = null) |
| | | { |
| | | caption = caption ?? LangUtil.Get("App.Info"); |
| | | var setting = Application.Current.FindResource("MsgBoxInfo") as MessageBoxXSetting; |
| | | return MessageBoxX.Show(owner, message, caption, button, icon, defaultButton, setting, countdown); |
| | | return ShowMessage(owner, message, caption, button, icon, defaultButton, setting, countdown); |
| | | } |
| | | #endregion |
| | | |
| | | public static MessageBoxResult ShowMessage(DependencyObject owner, |
| | | string message, |
| | | string caption, |
| | | MessageBoxButton button, |
| | | MessageBoxIcon icon, |
| | | DefaultButton defaultButton, MessageBoxXSetting setting, int? countdown) |
| | | { |
| | | MessageBoxResult res = MessageBoxResult.None; |
| | | if (!(owner is Window window)) |
| | | { |
| | | owner.Dispatcher.Invoke(() => |
| | | { |
| | | window = Window.GetWindow(owner) ?? Application.Current.MainWindow; |
| | | window.Dispatcher.Invoke(() => |
| | | { |
| | | res = MessageBoxX.Show(window, message, caption, button, icon, defaultButton, setting, countdown); |
| | | }); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | window.Dispatcher.Invoke(() => |
| | | { |
| | | res = MessageBoxX.Show(window, message, caption, button, icon, defaultButton, setting, countdown); |
| | | }); |
| | | } |
| | | return res; |
| | | } |
| | | } |
| | | } |