我希望能够TreeViewItem
通过按键盘上的删除按钮从 a 中删除子节点。我正在使用 aSelectedItem
来尝试执行此操作。
目前我KeyDown
在我的代码隐藏中使用一个事件:
private void Tree_One_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Delete)
class.deleteNodeOnKeyPress();
}
从那里我的程序调用一个应该执行删除操作的函数:
public static void deleteNodeOnKeyPress()
{
Tree.Items.Remove(Tree.SelectedItem);
}
这是我尝试过的,对于我的生活,我不知道为什么它不起作用。我以前对这些keyPress
事件有过麻烦。也许有人可以指出我正确的方向。
如果您需要更多代码,请告诉我!
更新:我现在正在使用e.Key == Key.Delete
,仍然不影响任何更改。
这是尝试后的编译器错误Tree.Items.Remove(Tree.SelectedItem);
The property or indexer 'System.Collections.ObjectModel.Collection<System...TreeViewItem>.Items' cannot be used in this context because the get accessor is inaccessible
'System.Collections.ObjectModel.Collection<System...TreeViewItem>.Items' is inaccessible due to its protection level
'System.Collections.ObjectModel.ObservableCollection<System...TreeViewItem>' does not contain a definition for 'SelectedItem' and no extension method 'SelectedItem' accepting a first argument of type 'System.Collections.ObjectModel.ObservableCollection<System...TreeViewItem>' could be found (are you missing a using directive or an assembly reference?)