WPF文本框继承KeyDown事件无法在空格键上触发?

3
我有一个继承了WPF文本框的类,我已经重写了OnTextChanged、OnTextInput和OnKeyDown函数。现在来说有趣的部分...如果我按下除空格之外的任何键,都会触发这3个事件,但是如果我按下空格,只有OnTextChanged被触发?为什么空格不算做键或文本输入呢?
1个回答

7

由于空格键默认被框架处理和消耗,因此您需要处理PreviewKeyDown事件。

在处理时,请注意保留HTML标记。

我可以问一下为什么空格键在预览中处理,而不像其他键一样以正常方式处理吗?但是没问题,我会尝试一下。 - Peter
@Petoj 这完全取决于实现者是否将事件标记为已处理。理论上,这可能与文本布局有关,因为当 TextBox.AcceptsReturn 被标记为 true 时,它也会影响 Enter 键。 - Aaron McIver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接