在TreeView Item上未激发MouseLeftButtonDown [英] MouseLeftButtonDown is not fired on TreeViewItem
本文介绍了在TreeView Item上未激发MouseLeftButtonDown的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
<Grid x:Name="LayoutRoot" Background="White">
<sdk:TreeView MouseLeftButtonDown="TreeView_MouseLeftButtonDown">
<sdk:TreeViewItem Header="this is first item"/>
</sdk:TreeView>
</Grid>
未调用TreeView_MouseLeftButtonDown事件处理程序。 有什么想法或解决办法吗?
推荐答案
您是否注意到在单击Silverlight按钮时不会触发MouseLeftButtonDown和MouseLeftButtonUp事件?这样做的原因是按钮通过覆盖OnMouseLeftButtonDown和OnMouseLeftButtonUp处理程序本身处理这两个事件。在OnMouseLeftButtonDown重写中,将引发Click事件,并将MouseLeftButtonDown事件标记为已处理,这样它就不会在可视化树中冒泡。OnMouseLeftButtonUp重写还将MouseLeftButtonUp标记为已处理。
可以使用Button控件的ClickMode属性更改此设置。它具有下列值-悬停、按下、释放。默认设置是按下的,我们已经解释过了。当我们将ClickMode设置为Release时,将在OnMouseLeftButtonUp重写中引发Click事件,并再次在该按钮内处理MouseLeftButtonDown和MouseLeftButtonUp事件。如果将ClickMode设置为Hover,Click事件将与MouseEnter事件一起引发,并且我们还将能够使用鼠标按键事件。
这篇关于在TreeView Item上未激发MouseLeftButtonDown的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文