2009-11-20 163 views
2

我想知道,將覆蓋樹視圖的鼠標點擊的最佳方式是什麼? 正如你知道當你雙擊一棵樹視圖的父,然後樹視圖展開和顯示的孩子。 如果它沒有任何孩子,那麼它什麼都不會做。 但如果它已經擴大,它會崩潰。TreeView,Overiding雙擊鼠標事件WPF

我想採取樹型視圖,當你雙擊這些孩子時,它會綁定到某種命令。

所以基本上,我想保持父,在這裏您雙擊它展開或摺疊,但是當你雙擊這個孩子,它會執行某個命令的功能..

我使用XAML和C#。

回答

1

請記住,WPF中的事件泡泡,所以你可以有一個雙擊事件處理程序做你自己的事情 - 只要你沒有將RoutedEventArgs.Handled設置爲true,它會繼續冒泡並應該跳出默認行爲也是如此。

具體而言,剛剛成立了一個處理程序MouseDoubleClick在樹狀:

<TreeView MouseDoubleClick="TreeView1_MouseDoubleClick" Width="194" Height="200"> 
... 
</TreeView> 

做任何你需要的處理程序裏面做,並雙擊展開/樹視圖的合同功能將不可影響。

+0

困惑,做什麼? 我很新WPF – 2009-11-20 21:17:04

+0

我編輯表示一點點更好。 – 2009-11-20 21:30:34

+0

嗯..這使得更有意義,但你知道我將如何傳遞它所點擊的項目的commandParameter? 就像,如果你想打開一個特定的文件,那麼當你點擊treeView時,它會傳入文件的id並根據id打開它。 – 2009-11-20 21:37:05