From 4c3eb7f334abb8129b57e86f2935d75d0b3070b4 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 03 三月 2025 18:55:31 +0800
Subject: [PATCH] 完善UI;新增TestResult;

---
 HMI.UI/Util/ToastHelper.cs |  111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 111 insertions(+), 0 deletions(-)

diff --git a/HMI.UI/Util/ToastHelper.cs b/HMI.UI/Util/ToastHelper.cs
index 7f32e02..9f4421f 100644
--- a/HMI.UI/Util/ToastHelper.cs
+++ b/HMI.UI/Util/ToastHelper.cs
@@ -1,5 +1,6 @@
 锘縰sing Panuon.WPF.UI;
 using System.Windows;
+using System.Windows.Controls;
 
 namespace HMI.UI.Util
 {
@@ -12,6 +13,18 @@
                 ToastWindow targetWindow);
 
         void Warning(Window window,
+                string message,
+                MessageBoxIcon icon,
+                ToastPosition position, double offset, int durationMs,
+                ToastWindow targetWindow);
+
+        void Error(Window window,
+                string message,
+                MessageBoxIcon icon,
+                ToastPosition position, double offset, int durationMs,
+                ToastWindow targetWindow);
+
+        void Info(Window window,
                 string message,
                 MessageBoxIcon icon,
                 ToastPosition position, double offset, int durationMs,
@@ -44,5 +57,103 @@
         {
             Instance.Warning(window, message, icon, position, offset, durationMs, targetWindow);
         }
+
+        public static void Error(Window window,
+            string message,
+            MessageBoxIcon icon = MessageBoxIcon.Error,
+            ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+            ToastWindow targetWindow = ToastWindow.ActiveWindow)
+        {
+            Instance.Error(window, message, icon, position, offset, durationMs, targetWindow);
+        }
+
+        public static void Info(Window window,
+            string message,
+            MessageBoxIcon icon = MessageBoxIcon.Info,
+            ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+            ToastWindow targetWindow = ToastWindow.ActiveWindow)
+        {
+            Instance.Info(window, message, icon, position, offset, durationMs, targetWindow);
+        }
+    }
+
+    public static class ToastUtil
+    {
+
+        public static void Success(this Window window,
+            string message,
+            MessageBoxIcon icon = MessageBoxIcon.Success,
+            ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+            ToastWindow targetWindow = ToastWindow.ActiveWindow)
+        {
+            ToastHelper.Success(window, message, icon, position, offset, durationMs, targetWindow);
+        }
+
+        public static void Warning(this Window window,
+            string message,
+            MessageBoxIcon icon = MessageBoxIcon.Warning,
+            ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+            ToastWindow targetWindow = ToastWindow.ActiveWindow)
+        {
+            ToastHelper.Warning(window, message, icon, position, offset, durationMs, targetWindow);
+        }
+
+        public static void Error(this Window window,
+            string message,
+            MessageBoxIcon icon = MessageBoxIcon.Error,
+            ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+            ToastWindow targetWindow = ToastWindow.ActiveWindow)
+        {
+            ToastHelper.Error(window, message, icon, position, offset, durationMs, targetWindow);
+        }
+
+        public static void Info(this Window window,
+            string message,
+            MessageBoxIcon icon = MessageBoxIcon.Info,
+            ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+            ToastWindow targetWindow = ToastWindow.ActiveWindow)
+        {
+            ToastHelper.Info(window, message, icon, position, offset, durationMs, targetWindow);
+        }
+
+
+        public static void Success(this UserControl control,
+            string message,
+            MessageBoxIcon icon = MessageBoxIcon.Success,
+            ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+            ToastWindow targetWindow = ToastWindow.ActiveWindow)
+        {
+            ToastHelper.Success(Window.GetWindow(control), message, icon, position, offset, durationMs, targetWindow);
+        }
+
+        public static void Warning(this UserControl control,
+            string message,
+            MessageBoxIcon icon = MessageBoxIcon.Warning,
+            ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+            ToastWindow targetWindow = ToastWindow.ActiveWindow)
+        {
+            ToastHelper.Warning(Window.GetWindow(control), message, icon, position, offset, durationMs, targetWindow);
+        }
+
+        public static void Error(this UserControl control,
+            string message,
+            MessageBoxIcon icon = MessageBoxIcon.Error,
+            ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+            ToastWindow targetWindow = ToastWindow.ActiveWindow)
+        {
+            Application.Current.Dispatcher.Invoke(() =>
+            {
+                ToastHelper.Error(Window.GetWindow(control), message, icon, position, offset, durationMs, targetWindow);
+            });
+        }
+
+        public static void Info(this UserControl control,
+           string message,
+           MessageBoxIcon icon = MessageBoxIcon.Error,
+           ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+           ToastWindow targetWindow = ToastWindow.ActiveWindow)
+        {
+            ToastHelper.Info(Window.GetWindow(control), message, icon, position, offset, durationMs, targetWindow);
+        }
     }
 }

--
Gitblit v1.9.1