不使用foreach将子节点添加到树视图

时间:2013-11-04 21:36:44

标签: c# wpf

WPF树视图。有没有办法将子节点添加到已经填充的树视图中,而不必在for / foreach中运行以检查标题然后将其转换为TreeViewIem?

private void AddChildNode(string _rootNode, string _childeNode)
    {
        foreach (TreeViewItem node in tvSQLTasks.Items)
        {
            if (node.Header.Equals(_rootNode))
            {
                node.Items.Add(new TreeViewItem() { Header = _childeNode });
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

创建一个ObservableCollection个对象集合,使用表示要显示的树视图的对象填充集合,并将该集合绑定到电视的ItemSource属性。

绑定是使用WPF中的项目填充树视图的唯一正确方法,如果您使用ObservableCollection,您将获得添加到/从集合中删除的项目“自动”出现的额外好处/无需编写任何其他代码即可从电视中消失。

根据树视图的复杂程度,您可能需要使用HierarchicalDataTemplateItemStyleSelector