在TreeView Item上未激发MouseLeftButtonDown [英] MouseLeftButtonDown is not fired on TreeViewItem

查看:11
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆