KeyUp 事件
此文章由人工翻译。 将光标移到文章的句子上,以查看原文。
译文
原文

UIElement.KeyUp 事件

UIElement 具有焦点的情况下释放键盘上的某个键时发生。

命名空间:  System.Windows
程序集:  System.Windows(在 System.Windows.dll 中)

public event KeyEventHandler KeyUp
<uiElement KeyUp="eventhandler"/>

使用基于 KeyEventHandler 的处理程序处理此事件。 若要确定特定键是否被按下,请检查 KeyPlatformKeyCode 若要确定任何修饰符键是否被按下,请检查 Keyboard.Modifiers 有关如何处理键事件以及是否使用 KeyPlatformKeyCode 的详细信息,请参见键盘支持

KeyUp 事件是一种冒泡事件。 这意味着,如果为由对象树中的父-子关系所连接的一系列对象注册了多个 KeyUp 事件处理程序,则事件将由该关系中的每个对象接收。 冒泡比喻表示,按住键时,事件在有焦点的对象上启动并沿对象树向上传递。 对于冒泡事件,可用于事件处理程序的 sender 标识处理该事件时所用的对象,而不必标识实际接收发起该事件的输入条件的对象。 若要获取发起该事件的对象,请使用事件的 RoutedEventArgs 事件数据的 OriginalSource 值。

注意说明:

对键盘事件的处理方式可能在各浏览器之间有所不同。 在您创建使用键盘输入的某一应用程序时,请确保在您的目标浏览器中测试该应用程序。

元素焦点和发起键盘事件的能力密切相关。 为了生成 KeyUp 事件,UIElement 必须具有焦点。

对于 TextBox 类,存在可能与 KeyUp 进行交互以及针对 ENTER 等键进行特殊处理的 TextChanged 事件。 有关详细信息,请参见TextBox

KeyUp 和 OnKeyUp

继承 KeyUp 的控件可以通过重写 OnKeyUp 方法来处理充当所有实例的处理程序的事件。 这可能包括将事件的 Handled 值标记为 true,这一标记将导致取消进一步处理针对控件的任意实例(有时可能是控件的任意子类)的某些或所有键的 KeyUp 事件。 例如,ButtonBase 可以这样实现 OnKeyUp 以便 SPACE 键调用按钮单击,但同时设置 Handled 以防止将 SPACE 报告为可由按钮实例处理的 KeyUp 事件。 有关更多信息,请参见 OnKeyUp

还可以注册处理程序,以便即使是针对已处理的路由事件,也会调用这些处理程序。 有关更多信息,请参见 AddHandler

Silverlight

受以下版本支持:5、4、3

Silverlight for Windows Phone

受以下版本支持:Windows Phone OS 7.1、Windows Phone OS 7.0

有关 Silverlight 支持的操作系统和浏览器的列表,请参见 支持的操作系统和浏览器

社区附加资源

添加
显示:
© 2016 Microsoft