From d6f1a8535c0030e282f823f0e9b3d6e56e32e474 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期三, 07 五月 2025 01:31:10 +0800
Subject: [PATCH] 优化添加模式

---
 Yw.WpfUI.Hydro.L3d.Core/03-draw/03-control/ViewerL3d.xaml.cs |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/Yw.WpfUI.Hydro.L3d.Core/03-draw/03-control/ViewerL3d.xaml.cs b/Yw.WpfUI.Hydro.L3d.Core/03-draw/03-control/ViewerL3d.xaml.cs
index 8987e41..b36087b 100644
--- a/Yw.WpfUI.Hydro.L3d.Core/03-draw/03-control/ViewerL3d.xaml.cs
+++ b/Yw.WpfUI.Hydro.L3d.Core/03-draw/03-control/ViewerL3d.xaml.cs
@@ -50,7 +50,7 @@
         {
             _manager = new DrawViewManager(this.viewport);
             _manager.Initial(nw);
-            _manager.SelectionChangedEvent += (List<VisualL3d> visuals) => this.SelectionChangedEvent?.Invoke(visuals);
+            _manager.SelectionChangedEvent += OnSelectionChanged;
         }
 
         #endregion
@@ -305,6 +305,12 @@
         public void SelectVisual(List<string> Ids)
         {
             _manager?.SelectVisual(Ids);
+        }
+
+        //澶勭悊閫夋嫨鏀瑰彉
+        private void OnSelectionChanged(List<VisualL3d> visuals)
+        {
+            this.SelectionChangedEvent?.Invoke(visuals);
         }
 
         #endregion
@@ -609,8 +615,13 @@
         /// </summary>
         private void OnUnloaded(object sender, RoutedEventArgs e)
         {
-            _manager?.Close();
-            _manager = null;
+            if (_manager != null)
+            {
+                _manager.SelectionChangedEvent -= OnSelectionChanged;
+                _manager.Close();
+                _manager = null;
+            }
         }
+
     }
 }

--
Gitblit v1.9.3