WPF TreeView - 添加带子节点的TreeNode

时间:2014-03-15 13:24:31

标签: c# wpf treeview treenode

我有 TreeNode 对象[命名空间System.Windows.Forms ],我有WPF TreeView 控件。

我尝试使用此代码使用TreeNode数据填充此wpf控件:

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

此TreeNode在树层次结构中包含许多子项。

.e.g:

-Parent

- 儿童

----儿童

- 儿童

...

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

1 个答案:

答案 0 :(得分:2)

您必须先将它们转换为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;
}