using HMI.Core.Util; using Panuon.WPF.UI; using Panuon.WPF.UI.Configurations; using System.Windows; namespace HMI.UI.Util { public class MsgBoxHelper2 { public static MessageBoxResult Warn(string message, string caption = null, MessageBoxButton button = MessageBoxButton.OK, 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 ShowMessage(message, caption, button, icon, defaultButton, setting, countdown); } public static MessageBoxResult Error(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(message, caption, button, icon, defaultButton, setting, countdown); } public static MessageBoxResult Info(string message, string caption = null, MessageBoxButton button = MessageBoxButton.OK, 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 ShowMessage(message, caption, button, icon, defaultButton, setting, countdown); } public static MessageBoxResult WarnChoose(string message, 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 ShowMessage(message, caption, button, icon, defaultButton, setting, countdown); } public static MessageBoxResult ErrorChoose(string message, 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 ShowMessage(message, caption, button, icon, defaultButton, setting, countdown); } public static MessageBoxResult InfoChoose(string message, 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 ShowMessage(message, caption, button, icon, defaultButton, setting, countdown); } public static MessageBoxResult ShowMessage(string message, string caption, MessageBoxButton button, MessageBoxIcon icon, DefaultButton defaultButton, MessageBoxXSetting setting, int? countdown) { MessageBoxResult res = MessageBoxResult.None; var window = Application.Current.MainWindow; if (window is WindowX) { window.Dispatcher.Invoke(() => { res = MessageBoxX.Show(window, message, caption, button, icon, defaultButton, setting, countdown); }); return res; } else { return MessageBox.Show(message, caption); } } } }