WPF树视图-添加带子节点的树节点

本文关键字:子节点 树节点 添加 视图 WPF | 更新日期: 2023-09-27 17:50:34

我有TreeNode对象[命名空间System.Windows。窗体]和我有WPF TreeView控件。

我试图填充这个wpf控件与TreeNode数据通过以下代码:

   public partial class TreeWindow : Window
    {
        public TreeWindow(TreeNode node)
        {
            InitializeComponent();
            treeView.Items.Add(node);
        }
    }

这个TreeNode在树层次结构中包含许多子节点。

生产。g:

——家长

——孩子

——孩子

——孩子

但是在wpf窗口中,我只得到父节点。没有展开/折叠按钮

WPF树视图-添加带子节点的树节点

您必须先将它们转换为System.Windows.Controls.TreeViewItem

public TreeWindow(TreeNode node)
{
    InitializeComponent();
    treeView.Items.Add(ConvertToWpf(node));
}

TreeViewItem ConvertToWpf(TreeNode node)
{
    var wpfItem = new TreeViewItem();
    wpfItem.Header = node.Text;
    foreach(var child in node.Nodes)
    {
         wpfItem.Items.Add(ConvertToWpf(child));
    }
    return wpfItem;
}