From dedcf4174c8540ee3a912daad2ff13e014e495b1 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期五, 28 三月 2025 16:28:30 +0800
Subject: [PATCH] 优化UI组件;

---
 HMI.UI/Util/MsgBoxHelper.cs |   34 +++++++++++++++++-----------------
 1 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/HMI.UI/Util/MsgBoxHelper.cs b/HMI.UI/Util/MsgBoxHelper.cs
index 496b435..6d5d49d 100644
--- a/HMI.UI/Util/MsgBoxHelper.cs
+++ b/HMI.UI/Util/MsgBoxHelper.cs
@@ -1,20 +1,21 @@
 锘縰sing Panuon.WPF.UI;
 using System.Windows;
 using Panuon.WPF.UI.Configurations;
-using System.Windows.Threading;
+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 ShowMessage(owner, message, caption, button, icon, defaultButton, setting, countdown);
         }
@@ -23,35 +24,38 @@
         #region Error
         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 ShowMessage(owner, message, caption, button, icon, defaultButton, setting, countdown);
         }
 
         public static MessageBoxResult Error(DependencyObject owner,
             string message,
-            string caption = "閿欒",
+            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 ShowMessage(owner, message, caption, button, icon, defaultButton, setting, countdown);
         }
@@ -65,17 +69,13 @@
             DefaultButton defaultButton, MessageBoxXSetting setting, int? countdown)
         {
             MessageBoxResult res = MessageBoxResult.None;
-            Application.Current.Dispatcher.Invoke(() =>
+            if (!(owner is Window window))
             {
-                if (owner is Window window)
-                {
-                    res = MessageBoxX.Show(window, message, caption, button, icon, defaultButton, setting, countdown);
-                }
-                else
-                {
-                    window = Window.GetWindow(owner);
-                    res = MessageBoxX.Show(window, message, caption, button, icon, defaultButton, setting, countdown);
-                }
+                window = Window.GetWindow(owner) ?? Application.Current.MainWindow;
+            }
+            window.Dispatcher.Invoke(() =>
+            {
+                res = MessageBoxX.Show(window, message, caption, button, icon, defaultButton, setting, countdown);
             });
             return res;
         }

--
Gitblit v1.9.1