我希望能夠在我的程序中選擇一個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) –