UIElement.OnKeyDown(KeyEventArgs) 方法

定义

当某个未处理的 KeyDown 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

protected:
 virtual void OnKeyDown(System::Windows::Input::KeyEventArgs ^ e);
protected virtual void OnKeyDown (System.Windows.Input.KeyEventArgs e);
abstract member OnKeyDown : System.Windows.Input.KeyEventArgs -> unit
override this.OnKeyDown : System.Windows.Input.KeyEventArgs -> unit
Protected Overridable Sub OnKeyDown (e As KeyEventArgs)

参数

e
KeyEventArgs

包含事件数据的 KeyEventArgs

注解

击键由专用输入管理器处理。 依赖于击键的其他编程功能(例如输入和命令绑定)可能会在将其公开为常规击键之前处理击键。 如果这些输入系统功能将事件标记为已处理,则 OnKeyDown 不会调用 。

此方法没有默认实现。 由于继承中的中间类可能实现此方法,因此建议在实现中调用基实现。

此方法的用途类似于公共语言运行时 (CLR) 事件模式 On* 方法:此方法提供通过建立类处理程序而不是实例处理程序来处理派生类中的匹配事件的方法。 在这种情况下,匹配事件是路由事件。 On* 方法的实现模式对于路由事件是不同的,因为路由事件可由子元素引发,子元素不一定是将调用处理程序的元素。 因此,实现需要检查事件数据的源属性。 在大多数情况下,它不应尝试重新触发事件。

通过重写此方法或使用 注册类处理程序 RegisterClassHandler,当沿事件路由收到事件时,的 UIElement 派生类可以调用私有类处理程序方法。 适合类处理的一种方案是操作事件数据并将路由事件标记为已处理。

适用于

另请参阅