RoutedEventHandler 委托

定义

表示将处理各种路由事件的方法,这些路由事件不包含除所有路由事件共有数据之外的其他特定事件数据。

C#
public delegate void RoutedEventHandler(object sender, RoutedEventArgs e);

参数

sender
Object

事件处理程序所附加到的对象。

e
RoutedEventArgs

事件数据。

注解

委托 RoutedEventHandler 用于不报告事件数据中特定于事件的信息的任何路由事件。 有许多这样的路由事件:突出的示例包括 ClickLoaded

与 CLR) 事件的常规公共语言运行时相比,为路由事件编写处理程序与常规公共语言运行时 (最值得注意的区别在于 sender ,事件 (附加处理程序并调用的元素) 不一定被视为事件的源。 源在事件数据 (Source) 中报告为属性。 和 Source 之间的差异sender是事件在通过元素树遍历路由事件期间路由到不同元素的结果。

如果有意对直接路由事件或浮升路由事件的路由行为不感兴趣,并且只想处理首次引发路由事件的元素上的路由事件,则可以将 senderSource 用于对象引用。 在这种情况下, senderSource 是同一个对象。

如果确实打算利用路由事件的固有功能并相应地编写处理程序,则编写事件处理程序时将使用的事件数据的两个最重要的属性是 SourceHandled

对于输入事件和 WPF 控件类的某些组合,引发事件的元素不是第一个有机会处理该事件的元素。 如果输入事件具有事件的预览版本,则元素树的根具有第一个机会,可以在共享事件数据中将 设置为 Handledtrue ,并可能影响输入事件报告给其事件路由中的剩余元素的方式。 预览处理行为可以提供特定路由事件未按预期引发的外观。 有关详细信息,请参阅 预览事件输入概述

扩展方法

GetMethodInfo(Delegate)

获取指示指定委托表示的方法的对象。

适用于

产品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10