我一直在使用 WPF 处理所有的隧道和冒泡事件,我必须说它们简直是伟大而强大的。
但我总是质疑自己是使用 [ PreviewKeyUp 和 KeyUp ] 还是 [ PreviewKeyDown 和 Keydown ]?
我应该使用哪种组合来对按键做出反应,为什么?
取决于你想做什么:
所以这又取决于你想做什么。如果要添加 TextBox 验证,请使用 PreviewKeyDown 忽略不正确的文本。
如果您想在用户放开 SPACE 时做某事,那么我们使用 KeyUp
这一切都取决于情况,例如,在列表中选择一个项目将需要 KeyDown 以便可以按住键并更改所选项目。
如果您有一个具有多种视觉状态的元素,例如一个按钮,KeyDown 可能会改变视觉状态,然后 KeyUp 会将视觉恢复到原始状态并执行命令。
在您的情况下,这完全取决于您希望何时引发事件,我不会说任何一个比另一个更好,因为它们用于不同的用途。