From 7bf89fd93bc487e8445d6d85bb527251b7371a04 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 12 五月 2025 13:14:11 +0800
Subject: [PATCH] 优化项目;
---
HMI.UI/Util/ToastHelper.cs | 202 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 199 insertions(+), 3 deletions(-)
diff --git a/HMI.UI/Util/ToastHelper.cs b/HMI.UI/Util/ToastHelper.cs
index 7f32e02..90a409b 100644
--- a/HMI.UI/Util/ToastHelper.cs
+++ b/HMI.UI/Util/ToastHelper.cs
@@ -1,5 +1,8 @@
-锘縰sing Panuon.WPF.UI;
+锘縰sing HMI.Core.Util;
+using Panuon.WPF.UI;
+using System.Runtime.CompilerServices;
using System.Windows;
+using System.Windows.Controls;
namespace HMI.UI.Util
{
@@ -16,6 +19,18 @@
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,
+ ToastWindow targetWindow);
}
public class ToastHelper
@@ -27,22 +42,203 @@
if (Instance == null) { Instance = helper; }
}
- public static void Success(Window window,
+ public static void Success(string message,
+ MessageBoxIcon icon = MessageBoxIcon.Success,
+ ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+ ToastWindow targetWindow = ToastWindow.ActiveWindow)
+ {
+ var window = Application.Current.MainWindow;
+ if (window is WindowX)
+ {
+ Instance.Success(window, message, icon, position, offset, durationMs, targetWindow);
+ }
+ else
+ {
+ MessageBox.Show(message, LangUtil.Get("App.Success"));
+ }
+ }
+
+ public static void Warning(string message,
+ MessageBoxIcon icon = MessageBoxIcon.Warning,
+ ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+ ToastWindow targetWindow = ToastWindow.ActiveWindow)
+ {
+ var window = Application.Current.MainWindow;
+ if (window is WindowX)
+ {
+ Instance.Warning(window, message, icon, position, offset, durationMs, targetWindow);
+ }
+ else
+ {
+ MessageBox.Show(message, LangUtil.Get("App.Warn"));
+ }
+ }
+
+ public static void Error(string message,
+ MessageBoxIcon icon = MessageBoxIcon.Error,
+ ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+ ToastWindow targetWindow = ToastWindow.ActiveWindow)
+ {
+ var window = Application.Current.MainWindow;
+ if (window is WindowX)
+ {
+
+ Instance.Error(window, message, icon, position, offset, durationMs, targetWindow);
+ }
+ else
+ {
+ MessageBox.Show(message, LangUtil.Get("App.Error"));
+ }
+ }
+
+ public static void Info(string message,
+ MessageBoxIcon icon = MessageBoxIcon.Info,
+ ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+ ToastWindow targetWindow = ToastWindow.ActiveWindow)
+ {
+ var window = Application.Current.MainWindow;
+ if (window is WindowX)
+ {
+
+ Instance.Info(window, message, icon, position, offset, durationMs, targetWindow);
+ }
+ else
+ {
+ MessageBox.Show(message, LangUtil.Get("App.Info"));
+ }
+ }
+
+
+ public static void Success(DependencyObject dp,
string message,
MessageBoxIcon icon = MessageBoxIcon.Success,
ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
ToastWindow targetWindow = ToastWindow.ActiveWindow)
{
+ if (!(dp is Window window))
+ {
+ window = Window.GetWindow(dp);
+ }
Instance.Success(window, message, icon, position, offset, durationMs, targetWindow);
}
- public static void Warning(Window window,
+ public static void Warning(DependencyObject dp,
string message,
MessageBoxIcon icon = MessageBoxIcon.Warning,
ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
ToastWindow targetWindow = ToastWindow.ActiveWindow)
{
+ if (!(dp is Window window))
+ {
+ window = Window.GetWindow(dp);
+ }
Instance.Warning(window, message, icon, position, offset, durationMs, targetWindow);
}
+
+ public static void Error(DependencyObject dp,
+ string message,
+ MessageBoxIcon icon = MessageBoxIcon.Error,
+ ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+ ToastWindow targetWindow = ToastWindow.ActiveWindow)
+ {
+ if (!(dp is Window window))
+ {
+ window = Window.GetWindow(dp);
+ }
+ Instance.Error(window, message, icon, position, offset, durationMs, targetWindow);
+ }
+
+ public static void Info(DependencyObject dp,
+ string message,
+ MessageBoxIcon icon = MessageBoxIcon.Info,
+ ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
+ ToastWindow targetWindow = ToastWindow.ActiveWindow)
+ {
+ if (!(dp is Window window))
+ {
+ window = Window.GetWindow(dp);
+ }
+ 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