我希望能够通过TreeViewItem
右键单击在我的程序中选择一个。以前,(在这个问题中)我试图通过SetSelectedItem()
从我想要允许TreeViewItem
选择 a 的任何地方调用方法来做到这一点。该问题的答案已编译并运行,但实际上并没有TreeViewItem
像我想要的那样被选中。
我一直在研究的这个问题与这个问题几乎完全相同,除了hierachicalDataTemplate
. MyTreeView
没有hierachicalDataTemplate
,如果我的程序不需要它,我想避免它。
这是我正在编译的,但现在不影响更改...
//Sets selected item in TreeView and passes to MainWindowViewModel
private void SetSelectedItem()
{
MainWindowViewModel.SelectedItem = Tree_One.SelectedItem as TreeViewItem;
}
//**** This is the function this question is about -- It's Supposed to select item on RightClick
private void Tree_One_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
SetSelectedItem();
}
因此,为了清楚起见,我右键单击的节点没有像预期的那样被选中。我做错了什么,我该如何解决?
更新:
我想在玩了下面的答案之后我知道问题出在哪里。我在这个问题中的代码实际上并没有改变选定的项目,它只是通过选择当前选定的项目来重申,重新选择它。如果有一种方法可以将所选项目实际更改为右键单击的项目,它将完美运行。关于如何做这样的事情的任何线索?
谢谢你的帮助。