给定一个 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);
我有一个 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);