如何清除TreeViewItem Parent属性?

时间:2013-10-21 11:57:27

标签: c#

如何清除System.Windows.Controls.TreeViewItem的父母财产?它是只读的,我不能将相同的TreeViewItem添加到不同的TreeViews:

TreeView1.Items.Add(MyTreeViewItem);   // Sucess!
TreeView2.Items.Add(MyTreeViewItem);   // Error (MyTreeViewItem alredy has parent - TreeView1)

谢谢!

2 个答案:

答案 0 :(得分:2)

根据错误判断,您不能在两个不同的树中拥有相同的节点(并非完全不合理)。

您可以从第一个树中删除元素(例如通过TreeView1.Items.Remove(MyTreeViewItem))或复制节点并将其添加到两个节点。

答案 1 :(得分:1)

您可以使用TreeView的以下方法。请注意,无法设置 readonly 属性,可以按如下方式调用Clear()之类的方法:

System.Windows.Controls.TreeView treeView = new System.Windows.Controls.TreeView();
System.Windows.Controls.TreeViewItem item = new TreeViewItem();

treeView.Items.Clear();
treeView.Items.Contains(item);
treeView.Items.Remove(item);