wpf:关于MouseLeftButtonDown事件失效的问题

来源:互联网 发布:学生借款软件推荐 编辑:程序博客网 时间:2024/06/06 03:32

今天使用wpf开发一个小工具,用到了MouseLeftButtonDown的事件,但是发现点击后根本不会触发事件。

经过一番资料查找,发现是控件在捕获了MouseLeftButtonDown事件后,会将该事件的“Handled”设置为True,这个属性是用在事件路由中的,当某个控件得到一个RoutedEvent,就会检测Handled是否为true,为true则忽略该事件。

并且,控件本身的Click事件,相当于将MouseLeftButtonDown事件抑制(Supress)掉了,转换成了Click事件。所以,如果一定要使用这个事件的话,需要在初始化的函数里利用UIElement的AddHandler方法,显式的增加这个事件。

#https://msdn.microsoft.com/zh-cn/library/ms598899(v=vs.110).aspx# public MainWindow()        {            InitializeComponent();            button_get_trade_record.AddHandler(Button.MouseLeftButtonDownEvent, new MouseButtonEventHandler(this.button_get_trade_record_MouseLeftButtonDown), true);        }

如非必要,还是使用Click事件吧^_^

原创粉丝点击