【发布时间】:2010-03-12 03:12:54
【问题描述】:
背景:我有一个应用程序,我希望能够捕获键盘事件。在主屏幕上,用户单击开始按钮。在游戏过程中,开始按钮消失并显示重置按钮(两个控件上的可见性更改)。这是仅有的两个标准控件,因为其他所有控件都是不可聚焦的用户控件。
问题:当用户单击“开始”(从而使其获得焦点)时,它会隐藏并出现“重置”,“重置”按钮似乎自动获得焦点。这并不可怕,因为仍然会引发按键事件,但是焦点会导致一个大问题。如果用户按下 Space,那么按钮会将其解释为 Click 事件。
如果我将 KeyUp 和 KeyDown 的处理程序添加到按钮本身并将事件设置为 Handled,如果我按住空格并松手,它将吞噬事件,但如果我只是点击它,则不会。
问题:如何防止 Space 激活按钮,同时仍然能够响应我的应用中的 Space?
【问题讨论】:
标签: silverlight input keyboard