Учитывая XmlNode, как удалить элемент из TreeView

У меня есть XMLNode:

XmlNode selectedNode;

Treeview создается в 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);

Выдает ошибку времени выполнения:

Операция недопустима, пока ItemsSource используется. Вместо этого получайте доступ и изменяйте элементы с помощью ItemsControl.ItemsSource.

Что я делаю неправильно? Каково решение?


person zetar    schedule 31.01.2017    source источник


Ответы (1)


Попробуй это.

if (selectedNode != null)
    selectedNode.ParentNode.RemoveChild(selectedNode);
person remarkies    schedule 01.02.2017