From 55d7d983e9bb1b5549b6bbf1cc9d8c6ed116452d Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Sun, 14 Sep 2025 12:50:54 +0800 Subject: [PATCH] fix: #1735 --- .../Controls/Growl/Growl.cs | 29 ++++--------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs b/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs index d3d0996c..7fa8aac4 100644 --- a/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs +++ b/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs @@ -1,5 +1,4 @@ using System; -using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; @@ -287,13 +286,7 @@ public class Growl : Control var menuItem = new MenuItem(); LangProvider.SetLang(menuItem, HeaderedItemsControl.HeaderProperty, LangKeys.Clear); - menuItem.Click += (s, e) => - { - foreach (var item in panel.Children.OfType()) - { - item.Close(invokeParam: false, isClear: true); - } - }; + menuItem.Click += (s, e) => Clear(panel); panel.ContextMenu = new ContextMenu { Items = @@ -439,21 +432,11 @@ public class Growl : Control private static Panel CreateDefaultPanel() { - var win = WindowHelper.GetActiveWindow(); - win.Closed+= (s, e) => - { - if (GrowlPanel != null) - { - foreach (var item in GrowlPanel.Children.OfType()) - { - item.Close(false); - } - GrowlPanel = null; - } - }; - var decorator = VisualHelper.GetChild(win); - + var window = WindowHelper.GetActiveWindow(); + window.Closed += (s, e) => Clear(GrowlPanel); + var decorator = VisualHelper.GetChild(window); var layer = decorator?.AdornerLayer; + if (layer == null) { return null; @@ -1068,7 +1051,7 @@ public class Growl : Control TransitionMode.Custom) { return null; - } + } var animation = AnimationHelper.CreateAnimation(isClose ? 0 : 1); animation.From = isClose ? 1 : 0;