alielie
2025-03-11 2e54b439c64e0adbb7e010243c1f33aa5fc5f503
HMI.UI/Util/MsgBoxHelper.cs
@@ -15,12 +15,12 @@
            DefaultButton defaultButton = DefaultButton.Unset, int? countdown = null)
        {
            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 = "错误",
            MessageBoxButton button = MessageBoxButton.OKCancel,
@@ -28,7 +28,18 @@
            DefaultButton defaultButton = DefaultButton.Unset, int? countdown = null)
        {
            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 = "错误",
            MessageBoxButton button = MessageBoxButton.OK,
            MessageBoxIcon icon = MessageBoxIcon.Error,
            DefaultButton defaultButton = DefaultButton.Unset, int? countdown = null)
        {
            var setting = Application.Current.FindResource("MsgBoxError") as MessageBoxXSetting;
            return ShowMessage(owner, message, caption, button, icon, defaultButton, setting, countdown);
        }
        #endregion
@@ -41,8 +52,27 @@
            DefaultButton defaultButton = DefaultButton.Unset, int? countdown = null)
        {
            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))
            {
                window = Window.GetWindow(owner);
            }
            window.Dispatcher.Invoke(() =>
            {
                res = MessageBoxX.Show(window, message, caption, button, icon, defaultButton, setting, countdown);
            });
            return res;
        }
    }
}