From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点

---
 WPFProject/Utils/MainToastHandler.cs |   76 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 76 insertions(+), 0 deletions(-)

diff --git a/WPFProject/Utils/MainToastHandler.cs b/WPFProject/Utils/MainToastHandler.cs
new file mode 100644
index 0000000..9356303
--- /dev/null
+++ b/WPFProject/Utils/MainToastHandler.cs
@@ -0,0 +1,76 @@
+锘縰sing System.Windows;
+using Panuon.WPF.UI;
+using Panuon.WPF.UI.Configurations;
+using HMI.UI.Util;
+using System;
+
+namespace WPFProject.Utils
+{
+    public class MainToastHandler : ToastHandler
+    {
+        public void Success(Window window, string message,
+            MessageBoxIcon icon, ToastPosition position,
+            double offset, int durationMs, ToastWindow targetWindow)
+        {
+            ToastSetting setting = Application.Current.FindResource("toastSuccess") as ToastSetting;
+            if (window is PanuonWindow pw)
+            {
+                double num = 20 + (pw.menuTab.MenuVisibility == Visibility.Visible ? pw.menuTab.Menu.ActualHeight + pw.menuTab.SubMenu.ActualHeight : 0);
+                Show(pw, message, icon, position, num, durationMs, setting);
+            }
+            else if (window is WindowX wx)
+            {
+                Show(wx, message, icon, position, 0, durationMs, setting);
+            }
+        }
+
+        public void Warning(Window window, string message,
+            MessageBoxIcon icon, ToastPosition position,
+            double offset, int durationMs, ToastWindow targetWindow)
+        {
+            var setting = Application.Current.FindResource("toastWarning") as ToastSetting;
+            if (window is PanuonWindow pw)
+            {
+                double num = 20 + (pw.menuTab.MenuVisibility == Visibility.Visible ? pw.menuTab.Menu.ActualHeight + pw.menuTab.SubMenu.ActualHeight : 0);
+                Show(pw, message, icon, position, num, durationMs, setting);
+            }
+            else if (window is WindowX wx)
+            {
+                Show(wx, message, icon, position, 0, durationMs, setting);
+            }
+        }
+
+        public void Error(Window window, string message, MessageBoxIcon icon, ToastPosition position, double offset, int durationMs, ToastWindow targetWindow)
+        {
+            var setting = Application.Current.FindResource("toastError") as ToastSetting;
+            if (window is PanuonWindow pw)
+            {
+                double num = 20 + (pw.menuTab.MenuVisibility == Visibility.Visible ? pw.menuTab.Menu.ActualHeight + pw.menuTab.SubMenu.ActualHeight : 0);
+                Show(pw, message, icon, position, num, durationMs, setting);
+            }
+            else if (window is WindowX wx)
+            {
+                Show(wx, message, icon, position, 0, durationMs, setting);
+            }
+        }
+
+        public void Info(Window window, string message, MessageBoxIcon icon, ToastPosition position, double offset, int durationMs, ToastWindow targetWindow)
+        {
+            var setting = Application.Current.FindResource("toastError") as ToastSetting;
+            if (window is PanuonWindow pw)
+            {
+                double num = 20 + (pw.menuTab.MenuVisibility == Visibility.Visible ? pw.menuTab.Menu.ActualHeight + pw.menuTab.SubMenu.ActualHeight : 0);
+                Show(pw, message, icon, position, num, durationMs, setting);
+            }
+            else if (window is WindowX wx)
+            {
+                Show(wx, message, icon, position, 0, durationMs, setting);
+            }
+        }
+
+        private void Show(WindowX window, string message, MessageBoxIcon icon, ToastPosition position, double offset, int durationMs, ToastSetting setting)
+        {
+            Toast.Show(window, message, icon, position, offset, durationMs, setting);
+        }
+    }
+}

--
Gitblit v1.9.1