【转】【WPF】WPF中的Button的MouseDown事件不触发问题
按照WPF的帮助说明,某些控件的路由事件被内部处理了,已经被标记为Handled,自行定义的事件处理代码便不再起作用了,有时候会很郁闷!
不过WPF提供了必要的方法。
1)使用相应的Preview事件。须注意隧道类型的事件是从根元素开始执行的。
2)使用AddHandler添加自定义的路由事件。
MouseDown事件的说明
AddHandler方法的说明
遗憾的是,似乎并没有明确说明哪些控件有这样的处理。按钮 Button 就是这样的一个控件。按照正常的方法编写事件处理代码,其MouseDown事件(还有MouseUp等)是不会响应的(在别的地方看到,说是这些事件都被Click事件代替了);使用AddHandler之后才可以。
下图是没有给Button使用AddHandler方法时,鼠标点击Button中的TextBlock时的事件响应。
下图则是给Button使用AddHandler方法添加了自定义路由事件时,鼠标点击Button中的TextBlock时的事件响应。CancelButton.AddHandler(Button.MouseDownEvent, new RoutedEventHandler(MyRoutedEventHandler), true);
程序代码在这里:http://files.cnblogs.com/glowworm/wpfTest.rar
原文地址:https://www.cnblogs.com/glowworm/archive/2010/06/19/1760993.html
【转】【WPF】WPF中的Button的MouseDown事件不触发问题的更多相关文章
- WPF开发经验-WPF的TextBox控件的MouseDown事件不响应的解决方法
一 问题的发现 最近项目有个需求,大概是,当点击某个TextBox时,先执行一些业务上的逻辑处理. 于是按以往思维,将TextBox的MouseDown事件关联事件处理方法,将业务处理写在方法里. 调 ...
- form中的button默认提交事件
<form action=""> <input autocomplete="off" type="text" name=& ...
- Jquery/js引入的button的onclik事件只触发一次
目标描述 我要实现的是:通过监听button的click事件,从而通过ajax向servlet发送请求获取数据库中的数据,然后返回的页面,并要求局部刷新 一次页面的加载是html直接页面初始化本身的 ...
- EasyUi中的datagird中a标签的click事件无法触发?(已解决)
***************************2015-10-29 21:07************************* 问题如下: datagrid最后一列编辑中有如下a标签 { f ...
- C# Note16: wpf window 中添加enter和双击事件
一.添加回车(enter)事件 在C#编程时,有时希望通过按回车键,控件焦点就会自动从一个控件跳转到下一个控件进行操作. 以用户登录为例,当输入完用户名和密码后, 需要点击登录按钮,而登录按钮必须获 ...
- WPF dataGrid中的check的改变事件
关于datagrid信息: <DataGridTemplateColumn Header="备注"> <DataGridTemplateColumn.CellTe ...
- SharePoint 2013 页面中window/document.onload/ready 事件不能触发的解决方案
问题1:在SharePoint 2013页面中使用Javascript 事件window/document.onload/ready时,你会发现处理onload/ready事件的代码根本不能执行. 问 ...
- 如何在WPF程序中使用ArcGIS Engine的控件
原文 http://www.gisall.com/html/47/122747-4038.html WPF(Windows Presentation Foundation)是美国微软公司推出.NET ...
- ListView中的组件Button的OnClick事件触发时机
Android开发时,ListView中的组件Button的OnClick事件必须在ListView之外的组件事件触发后才能触发? 此处ListView无OnItemClick事件,而且ListVie ...
随机推荐
- 潭州课堂25班:Ph201805201 django 项目 第七课 用户模型设计 (课堂笔记
在 user 的应用中的 models.py: 导入 dango 自带的用户模型 from django.contrib.auth.models import AbstractUser,UserMan ...
- PHP判断iPhone、iPad、Android、PC设备的方法
因为工作需要我们需要知道是什么样了用户访问了我网站了,现在的移动设备种类多了,下面我们一起来看小编整理的一段php判断iPhone.iPad.Android.PC设备的例子. 注意:本代码的PC系统为 ...
- shell脚本使用技巧3--调试
1.使用-x,开启shell脚本的跟踪调试功能 ex:bash -x script.sh or sh -x script.sh 2.使用set -x 和 set +x对脚本进行部分调试(输入中间的内容 ...
- Html表单标签:
表单用于收集不同的类型的用户输入,表单由不同类型的标签组成,相关标签及属性如下: (1)<form>标签 定义整体的表单区域 -- action属性 定义表单数据提交址址 -- metho ...
- pointer-net
Pointer network 主要用在解决组合优化类问题(TSP, Convex Hull等等),实际上是Sequence to Sequence learning中encoder RNN和deco ...
- python之迭代器篇
一.迭代器 只要对象本身有_iter_()_方法,那它就是可迭代的 执行__iter__就会生成迭代器 迭代器有__next__用于获取值 __next__超出界限了会报StopIteration异常 ...
- 首席技术官应该考虑的网络安全问题 IT大咖说 - 大咖干货,不再错过
首席技术官应该考虑的网络安全问题 IT大咖说 - 大咖干货,不再错过 http://www.itdks.com/dakalive/detail/5523
- Exception in thread "main" java.lang.StackOverflowError at java.util.ArrayList$SubList.rangeCheckForAdd(Unknown Source)
Exception in thread "main" java.lang.StackOverflowError at java.util.ArrayList$SubList.ran ...
- Docker permission denied while trying to connect to the Docker daemon socket
Problem jenkins执行docker打包的时候报错,说没有权限 docker build -t docker.ryan-miao.com/com.demo:f1aa23e --build-a ...
- 解决IE11 Array没有find的方法
IE9以上版本都对 Array中的大部分方法进行了支持,然而在一次浏览器兼容性测试时发现,IE11浏览器不支持Array.find方法 然后查看了一下IE Edge之前的版本是不支持,所以我自己实现了 ...