我正在浏览WPF概念,我遇到了这些路由事件,依赖项属性和附加事件.我想我无法理解它们背后的概念以及它们为什么被用来代替.net的方法?
Bas*_*Bas 13
路由事件使元素树中的不同控件能够对事件做出反应.
举例来说,如果我们有一个Window含StackPanel含Button并有人按下按钮上的鼠标键,活动将在这个顺序被解雇:
PreviewMouseDown on Window
PreviewMouseDown on StackPanel
PreviewMouseDown on Button
MouseDown on Button
MouseDown on StackPanel
MouseDown on Window
Run Code Online (Sandbox Code Playgroud)
这些"预览"事件使用称为的行为Tunneling.正常事件Bubble再次上升.
如果设置to 的Handled属性,隧道和冒泡将停止.隧道或冒泡称为路由策略.EventArgstrue
这样可以处理各种情况,例如:
Handled为true开StackPanel.PreviewMouseDown).Window.KeyDown)我建议不要调查附加事件,直到这变得绝对必要.附加事件的场景非常有限.附加事件也是路由事件.
| 归档时间: |
|
| 查看次数: |
2853 次 |
| 最近记录: |