From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点
---
HMI.UI/Controls/treegrid/Controls/TreeListView.cs | 86 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 86 insertions(+), 0 deletions(-)
diff --git a/HMI.UI/Controls/treegrid/Controls/TreeListView.cs b/HMI.UI/Controls/treegrid/Controls/TreeListView.cs
new file mode 100644
index 0000000..ab9e828
--- /dev/null
+++ b/HMI.UI/Controls/treegrid/Controls/TreeListView.cs
@@ -0,0 +1,86 @@
+锘縰sing System.Windows;
+using System.Windows.Controls;
+
+namespace HMI.UI
+{
+ public class TreeListView : TreeView
+ {
+ public static readonly DependencyProperty ColumnsProperty =
+ DependencyProperty.Register("Columns", typeof(GridViewColumnCollection), typeof(TreeListView),
+ new PropertyMetadata(new GridViewColumnCollection()));
+
+ public GridViewColumnCollection Columns
+ {
+ get { return (GridViewColumnCollection)GetValue(ColumnsProperty); }
+ set { SetValue(ColumnsProperty, value); }
+ }
+
+ public static readonly DependencyProperty ColumnHeaderContainerStyleProperty =
+ DependencyProperty.Register("ColumnHeaderContainerStyle", typeof(Style), typeof(TreeListView),
+ new PropertyMetadata(null));
+
+ public Style ColumnHeaderContainerStyle
+ {
+ get { return (Style)GetValue(ColumnHeaderContainerStyleProperty); }
+ set { SetValue(ColumnHeaderContainerStyleProperty, value); }
+ }
+
+ static TreeListView()
+ {
+ DefaultStyleKeyProperty.OverrideMetadata(typeof(TreeListView),
+ new FrameworkPropertyMetadata(typeof(TreeListView)));
+ }
+
+ public TreeListView()
+ {
+ Columns = new GridViewColumnCollection();
+ }
+
+ protected override DependencyObject GetContainerForItemOverride()
+ {
+ return new TreeListViewItem(0, this);
+ }
+ }
+
+ public class TreeListViewItem : TreeViewItem
+ {
+ public static readonly DependencyProperty ColumnsProperty =
+ DependencyProperty.Register("Columns", typeof(GridViewColumnCollection), typeof(TreeListViewItem),
+ new PropertyMetadata(null));
+
+ public int level { get; private set; }
+ private TreeListView root;
+
+ public TreeListViewItem(int level, TreeListView root)
+ {
+ this.level = level;
+ this.root = root;
+ this.Loaded += TreeListViewItem_Loaded;
+ }
+
+ public GridViewColumnCollection Columns
+ {
+ get { return (GridViewColumnCollection)GetValue(ColumnsProperty); }
+ set { SetValue(ColumnsProperty, value); }
+ }
+
+ static TreeListViewItem()
+ {
+ DefaultStyleKeyProperty.OverrideMetadata(typeof(TreeListViewItem),
+ new FrameworkPropertyMetadata(typeof(TreeListViewItem)));
+ }
+
+ private void TreeListViewItem_Loaded(object sender, RoutedEventArgs e)
+ {
+ if (root is TreeListView treeListView)
+ {
+ Columns = treeListView.Columns;
+ }
+ }
+
+ protected override DependencyObject GetContainerForItemOverride()
+ {
+ return new TreeListViewItem(level + 1, root);
+ }
+ }
+}
--
Gitblit v1.9.1