Xaml 为什么UWP中没有预览事件处理程序?

Xaml 为什么UWP中没有预览事件处理程序?,xaml,win-universal-app,Xaml,Win Universal App,在WPF中,对于大多数UI事件,我们也有PreviewX事件。为什么在通用应用程序中没有这样的东西?事件系统是否与WPF根本不同,不需要它?找到了答案,系统已从冒泡和隧道改变。现在它可以处理路由事件。可以找到更多信息。以下是重要的摘录: 前面我们说过,将Handled设置为true可以防止调用大多数处理程序。但是AddHandler方法提供了一种技术,在该技术中,您可以附加一个始终为路由调用的处理程序,即使路由中早期的某个其他处理程序在共享事件数据中将Handled设置为true 因此,您需要调

在WPF中,对于大多数UI事件,我们也有
PreviewX
事件。为什么在通用应用程序中没有这样的东西?事件系统是否与WPF根本不同,不需要它?

找到了答案,系统已从冒泡和隧道改变。现在它可以处理路由事件。可以找到更多信息。以下是重要的摘录:

前面我们说过,将Handled设置为true可以防止调用大多数处理程序。但是AddHandler方法提供了一种技术,在该技术中,您可以附加一个始终为路由调用的处理程序,即使路由中早期的某个其他处理程序在共享事件数据中将Handled设置为true

因此,您需要调用
AddHandler
来添加“预览”处理程序,而不是像往常一样添加事件处理程序


需要注意的是:文档中没有说明这些特殊处理程序是在常规处理程序之前执行的,因此它与
PreviewX
方法并不完全相同。

感谢您提供的信息,我已经多次阅读了有关路由事件的Microsoft文档,但没有意识到UWP Tap事件中没有隧道。我认为你的答案应该被标记为一个解决方案。无论如何,我已经测试过了,连接到容器的处理程序以前没有执行过。唯一的区别是,即使内部处理程序将Handled属性设置为true,我也可以让它运行。