2009-11-20 114 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