From c1c3772a11b1f3fbad8846cc714120771d85fa53 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期四, 12 六月 2025 20:10:59 +0800
Subject: [PATCH] 新增SeqEditor

---
 HMI.UI/Controls/treegrid/Controls/TreeDataGrid.cs |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/HMI.UI/Controls/treegrid/Controls/TreeDataGrid.cs b/HMI.UI/Controls/treegrid/Controls/TreeDataGrid.cs
index fdd2866..8823656 100644
--- a/HMI.UI/Controls/treegrid/Controls/TreeDataGrid.cs
+++ b/HMI.UI/Controls/treegrid/Controls/TreeDataGrid.cs
@@ -48,21 +48,36 @@
         {
             if (e.OldValue != null && e.OldValue is TreeItemData oldTreeData)
             {
+                oldTreeData.IsExpandedChange -= DataIsExpandedChange;
                 oldTreeData.VisibleChange -= DataVisiableChange;
+
             }
             if (DataContext != null && DataContext is TreeItemData treeData)
             {
+                treeData.IsExpandedChange += DataIsExpandedChange;
                 treeData.VisibleChange += DataVisiableChange;
+            }
+        }
+
+        private void DataIsExpandedChange(object sender, bool IsExpanded)
+        {
+            object parent = ItemsControl.ItemsControlFromItemContainer(this);
+            if (sender is TreeItemData tid)
+            {
+                foreach (var data in tid.Items)
+                {
+                    data.IsVisible = IsExpanded;
+                }
             }
         }
 
         private void DataVisiableChange(object sender, bool visiable)
         {
-            object parent = ItemsControl.ItemsControlFromItemContainer(this);
-            if (parent != null && parent is TreeDataGrid treeDataGrid)
-            {
-                treeDataGrid.OnExpandedChange(visiable);
-            }
+            this.Visibility = visiable ? Visibility.Visible : Visibility.Collapsed;
+            //if (parent != null && parent is TreeDataGrid treeDataGrid)
+            //{
+            //    treeDataGrid.OnExpandedChange(visiable);
+            //}
         }
     }
 }

--
Gitblit v1.9.1