From c401a2f2fd1a509cdeb33e850bb5c2827074af48 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 17 三月 2025 08:44:51 +0800
Subject: [PATCH] 完善框架,新增两个close方法;
---
HMI.UI/Util/ToastHelper.cs | 29 ++++++++++++++++++++++++-----
1 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/HMI.UI/Util/ToastHelper.cs b/HMI.UI/Util/ToastHelper.cs
index 6410963..2156bdc 100644
--- a/HMI.UI/Util/ToastHelper.cs
+++ b/HMI.UI/Util/ToastHelper.cs
@@ -40,39 +40,55 @@
if (Instance == null) { Instance = helper; }
}
- public static void Success(Window window,
+ 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(Window window,
+ 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(Window window,
+ 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);
}
}
@@ -141,7 +157,10 @@
ToastPosition position = ToastPosition.Top, double offset = 0, int durationMs = 3000,
ToastWindow targetWindow = ToastWindow.ActiveWindow)
{
- ToastHelper.Error(Window.GetWindow(control), message, icon, position, offset, durationMs, targetWindow);
+ Application.Current.Dispatcher.Invoke(() =>
+ {
+ ToastHelper.Error(Window.GetWindow(control), message, icon, position, offset, durationMs, targetWindow);
+ });
}
public static void Info(this UserControl control,
--
Gitblit v1.9.1