简体   繁体   English

WPF TreeView - 添加带子节点的TreeNode

[英]WPF TreeView - adding TreeNode with children

I have TreeNode object [ namespace System.Windows.Forms ] and I have WPF TreeView Control. 我有TreeNode对象[ 命名空间System.Windows.Forms ],我有WPF TreeView控件。

I'm trying to populate this wpf control with the TreeNode data by this code: 我试图通过此代码使用TreeNode数据填充此wpf控件:

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

This TreeNode contains many children in a tree hierarchy. 此TreeNode在树层次结构中包含许多子节点。

.eg : .eg:

-Parent -Parent

--Child - 儿童

----Child - - 儿童

--Child - 儿童

... ...

But In the wpf window I'm getting only the parent node. 但是在wpf窗口中我只得到父节点。 without the expand/collapse buttons. 没有展开/折叠按钮。

You have to convert them to System.Windows.Controls.TreeViewItem first. 您必须首先将它们转换为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;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM