读书人

WPF路由事件请教Sender、Source、Or

发布时间: 2013-11-27 21:59:41 作者: rapoo

WPF路由事件,请问Sender、Source、OriginalSource的区别
在WPF的路由事件中,Sender、Source、OriginalSource这三者,对于Sender和Source的区别我是知道的,请解释下Source和OriginalSource的区别?

谢谢!!!


这个事件只能是Button引起的,除非你Button里面再放一个Button,否则是不会由其它内部(字符串)引起这个事件,只能由这个Button本身引起事件。
[解决办法]
http://blog.sina.com.cn/s/blog_a57b4c240101g121.html
[解决办法]

这个事件只能是Button引起的,除非你Button里面再放一个Button,否则是不会由其它内部(字符串)引起这个事件,只能由这个Button本身引起事件。

可是,OriginalSource不是指的Button控件模板中的某个元素引发了这个事件吗?不应该是Button啊
你说的某个元素是指哪个?Button里面就没有东西了,你根本没有放任何东西进去,凭空产生吗?Button就是一个最小单位了,虽然你可以定义它的显示模板,给里面添加元素,但是你根本没有任何地方这么做了,默认里面就是一片空白,什么都没有的,你偏偏要说里面有某个元素???
[解决办法]
TextBlock上面没有Click事件,通过TextBlock引发Click事件,你可以换成鼠标左键按下的事件来测试,Click事件是必须按钮性质的控件才会引发,而鼠标按下的事件则任何控件都可以引发。
[解决办法]
TextBlock上面没有Click事件,无法通过TextBlock引发Click事件
[解决办法]
刚试了下MouseDown和MouseRightButtonDown都可以,但需要用鼠标右键按下,而MouseLeftButtonDown不行,那个似乎被Click事件给替代了

读书人网 >C#

热点推荐