Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在WPF中的TreeView控件中插入子节点?_C#_Wpf_Treeview - Fatal编程技术网

C# 如何在WPF中的TreeView控件中插入子节点?

C# 如何在WPF中的TreeView控件中插入子节点?,c#,wpf,treeview,C#,Wpf,Treeview,我有一个TreeView控件,它是我在WPF程序的XAML中创建的 在根级别添加了几个节点后,我编写了循环遍历树结构的代码,如下所示: ItemCollection items = treeView1.Items; foreach (TreeViewItem n in items) { ... } 一旦我在这个循环中找到了包含子节点的位置,我该如何插入子节点呢?这是一段非常简单的代码,如果您实际使用它,您可能希

我有一个TreeView控件,它是我在WPF程序的XAML中创建的

在根级别添加了几个节点后,我编写了循环遍历树结构的代码,如下所示:

        ItemCollection items = treeView1.Items;
        foreach (TreeViewItem n in items)
        {
          ...
        }

一旦我在这个循环中找到了包含子节点的位置,我该如何插入子节点呢?

这是一段非常简单的代码,如果您实际使用它,您可能希望使它更具防御性

var items = treeView1.Items;
var item = new TreeViewItem() { Header = "Interesting" };
items.Add(item);
var subitem = new TreeViewItem() {Header = "Sub Item"};
foreach (TreeViewItem n in items)
{
  if (n.Header == "Interesting")
    (n as TreeViewItem).Items.Add(subitem);
}

将项添加为
n
的子项,但不会将其插入
n
之后。而
(n作为treevieItem)
是不必要的,因为
n
被声明为一个treevieItem。