每个强者的内心均有掌握自己的力量

Strong, Handsome, Acountable, Rich, Knowledge.

博客园 联系 订阅 管理
  216 Posts :: 8 Stories :: 5 Comments :: 60 Trackbacks

Events Tunneling and Bubbling is quite an exciting feature of WPF. Now you can control events much more easily and gracefully. So let's take a look at it!

Three-layer Buttons

RoutedEventHandler

Now you can see what happens when you click the button at the bottom.
    08:00 Top    PreviewMouseLeftButtonDown
    
08:00 Top    PreviewMouseDown
    
08:00 Middle PreviewMouseLeftButtonDown
    
08:00 Middle PreviewMouseDown
    
08:00 Bottom PreviewMouseLeftButtonDown
    
08:00 Bottom PreviewMouseDown
    
08:00 Top    PreviewMouseLeftButtonUp
    
08:00 Top    PreviewMouseUp
    
08:00 Middle PreviewMouseLeftButtonUp
    
08:00 Middle PreviewMouseUp
    
08:00 Bottom PreviewMouseLeftButtonUp
    
08:00 Bottom PreviewMouseUp
    
08:00 Bottom Click
    
08:00 Middle Click
    
08:00 Top    Click

Missing anything? The Mouse(LeftButton)Down/Up events do not bubble up! The button at the bottom has suppressed them apparently.

Fortunately, the suppressed events(i.e. e.Handled = true) can still be handled with the UIElement.AddHandler method by setting handledEventsToo to true.

So I add this to my code above:
UIElement.AddHandler

Now see what? I caught them all!
     22:49 Top    PreviewMouseLeftButtonDown
     
22:49 Top    PreviewMouseDown
     
22:49 Middle PreviewMouseLeftButtonDown
     
22:49 Middle PreviewMouseDown
     
22:49 Bottom PreviewMouseLeftButtonDown
     
22:49 Bottom PreviewMouseDown
     22:49 Bottom MouseLeftButtonDown
     22:49 Bottom MouseDown
     22:49 Middle MouseLeftButtonDown
     22:49 Middle MouseDown
     22:49 Top    MouseLeftButtonDown
     22:49 Top    MouseDown

     
22:49 Top    PreviewMouseLeftButtonUp
     
22:49 Top    PreviewMouseUp
     
22:49 Middle PreviewMouseLeftButtonUp
     
22:49 Middle PreviewMouseUp
     
22:49 Bottom PreviewMouseLeftButtonUp
     
22:49 Bottom PreviewMouseUp
     
22:49 Bottom Click
     
22:49 Middle Click
     
22:49 Top    Click
     22:49 Bottom MouseLeftButtonUp
     22:49 Bottom MouseUp
     22:49 Middle MouseLeftButtonUp
     22:49 Middle MouseUp
     22:49 Top    MouseLeftButtonUp
     22:49 Top    MouseUp 

What a beautiful two-round-trip! (2.5 actually.)
posted on 2007-10-18 09:55 shark2076 阅读(150) 评论(1)  编辑 收藏 网摘 所属分类: dotNET



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 928528




相关文章:

相关链接: