我希望能够在我的程序中选择一个TreeViewItem
右键单击。以前,(在this question)我试图通过调用SetSelectedItem()
方法从我想要允许选择TreeViewItem
的任何地方执行此操作。从这个问题的答案编译并运行,但实际上并没有让TreeViewItem
成为我想要的选择。选择右键单击的TreeViewItem
This question我一直在寻找几乎完全相同的问题,这一个,除了hierachicalDataTemplate
的例外。我的TreeView
没有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();
}
所以只是为了清楚起见,节点,我右击没有得到像选择预期。我做错了什么,我该如何解决它?
UPDATE:
我想我知道是什么问题与下面的答案玩耍后。我在这个问题中的代码实际上并没有改变选择的项目,它只是通过选择当前选择的项目而重新选择,重新选择它。如果有办法将所选项目实际更改为右键单击的项目,它将完美运行。有关如何做这样的事情的任何线索?
感谢您的帮助。
在'MouseRightButtonDown'的处理程序中,试着写下:'TreeViewItem Item = sender as TreeViewItem; if(Item!= null){Item.IsSelected = true; }' –
试过了,没有运气。奇。 –
[显示ContextMenu之前右键单击选择TreeView节点]的可能重复(http://stackoverflow.com/questions/592373/select-treeview-node-on-right-click-before-displaying-contextmenu) –