Ber*_*ryl 18 .net wpf events routed-events
我正在学习WPF/Silverlight并在MS视频播放中看到现在建议使用RoutedEventArgs它EventArgs; 虽然它没有说明原因.
我有一个win表单应用程序,它使用"小部件"的接口,试图不依赖于特定的显示技术(在Presenters/ViewModels中),所以如果我的IButton Click事件现在需要采取RoutedEventArgs现在我想它不是有用.
有人可以解释我是否应该切换到RoutedEventArgs所有情况,为什么?
顺便说一句,其他人是否有关于使用界面小部件的经验/意见,因为我正在描述它们?
Car*_*rlo 34
好吧,基本上是RoutedEvent通过Logical树遍历,从源元素到根元素(Bubble事件路径),或者从根元素到子级元素(Tunnel事件路径)不太常见.这意味着如果你有一个Button内部StackPanel,那它本身就在一个内部Grid; 如果你Click在控件中定义一个事件,它们都将触发它,除非其中一个处理它.
如果事件路由Bubble(命名为常规事件Click),它将:
Button -> StackPanel -> Grid
如果事件路由是Tunnel(命名PreviewClick),它将反过来:
Grid -> StackPanel -> Button
所以现在通过处理,它非常简单.如果这是一个Bubble路线和Button套RoutedEventArgs.Handled为true,StackPanel而Grid不会触发它.同样用RoutedEvent,如果Grid处理它时,StackPanel并Button不会触发它.
简而言之,这是我的理解,为了简单起见,我避免使用一些东西.
我建议本章更好地理解这个WPF功能.
| 归档时间: | 
 | 
| 查看次数: | 13365 次 | 
| 最近记录: |