我们应该如何处理WPF中的键盘事件?应该是KeyUp还是KeyDown



我一直在使用WPF来处理所有的隧道和冒泡事件,我必须说它们非常强大
但我一直在问自己是使用[PreviewKeyUp和KeyUp]还是[PreviewKeyDown和Keydown]?

我应该使用哪种组合来对按键做出反应,为什么?

取决于您想要做什么:

  1. PreviewKeyDown=按键前
    示例:如果事件发生在文本框上,则当前按下的键不会添加到文本框中
  2. PreviewKeyUp=松开键之前
  3. KeyDown=按键后
    示例:如果您在文本框中有事件,则当前按下的键将添加到文本框中
  4. KeyUp=松开键后

同样,这取决于你想做什么。如果你想添加TextBox验证,请使用PreviewKeyDown忽略不正确的文本

如果你想在用户放开SPACE时做点什么,那么我们KeyUp

这一切都取决于情况,例如,在列表中选择一个项目将需要KeyDown,这样就可以按住键并更改所选项目。

如果您有一个具有多个视觉状态的元素,例如一个按钮,KeyDown可能会更改视觉状态,然后KeyUp会将视觉返回到原始状态并执行命令。

在你的情况下,这完全取决于你希望何时举办活动,我不会说任何一个比另一个更好,因为它们有不同的用途。

相关内容

  • 没有找到相关文章

最新更新