给定一个 XmlNode 如何从 TreeView 中删除一个项目

Given an XmlNode how to remove an item from a TreeView

我有一个 XMLNode:

XmlNode selectedNode;

树视图创建于 XAML:

 <TreeView Name="OOB"
<!-- etc.... -->

保存从 TreeView 中选择的节点的值:

 TreeViewItem treeViewItem = VisualUpwardSearch<TreeViewItem>(e.OriginalSource as DependencyObject) as TreeViewItem;
        if (treeViewItem != null)
        {
            treeViewItem.Focus();
            selectedNode = ((XmlNode)treeViewItem.Header);
//etc...

我想删除所选节点。但是,当我尝试这样做时:

MainWindow.main.OOB.Items.Remove (MainWindow.SelectedNode);

它抛出 运行 时间错误:

Operation is not valid while ItemsSource is in use. Access and modify elements with ItemsControl.ItemsSource instead.

我做错了什么?解决方法是什么?

试试这个。

if (selectedNode != null)
    selectedNode.ParentNode.RemoveChild(selectedNode);