【问题标题】:WPF TreeView - adding TreeNode with childrenWPF TreeView - 添加带有子节点的 TreeNode
【发布时间】:2014-04-20 21:19:31
【问题描述】:

我有 TreeNode 对象 [namespace System.Windows.Forms] 并且我有 WPF TreeView 控件。

我正在尝试通过以下代码使用 TreeNode 数据填充此 wpf 控件:

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

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

.例如:

-父母

--孩子

----孩子

--孩子

...

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

【问题讨论】:

    标签: c# wpf treeview treenode


    【解决方案1】:

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

    【讨论】:

    • 只有一个小问题 - 在叶节点,我仍然得到“展开”按钮
    • 我认为那是因为 TreeViewItem 有扩展按钮。如果您使用另一个控件作为叶项(如按钮),问题就解决了
    猜你喜欢
    • 1970-01-01
    • 2011-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多