在WPF中,我有一个内部包含流文档的RichTextBox。我需要知道用户何时按空格键。下面的代码工作,并在每次按下某个键时显示消息框,但不显示空格键。如果你按F例如显示带有F的消息框但是当按下空格时,插入符号移动到下一个位置。
private void RichTextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
MessageBox.Show(e.Text);
}
我在这里缺少什么? 谢谢你的时间:))
答案 0 :(得分:1)
您可以通过处理PreviewKeyDown
或PreviewKeyUp
事件来检测空格字符:
private void PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Space)
{
// The user pressed the space bar
}
}
至于PreviewTextInput
事件忽略空格字符的原因,你可以在Why does PreviewTextInput not handle spaces?帖子和那里找到的链接中找到一些有趣的信息。