我想要在WPF中的PreviewKeyDown事件中Key为“Down”的那一刻

时间:2010-10-13 11:14:26

标签: wpf handle preview skip routedevent

当我跳进PreviewKeyDown时,我的RichTextBox中的Caret右手的char不会移动YET。我想对这个事件说你的东西把炭塞移到右边然后让我做我的东西。我怎么能这样做?

private void RTB_PreviewKeyDown(object sender, KeyEventArgs e)
 {
    if (e.Key == Key.Space)
    {
       // event do your stuff

       // Char righthanded from the Caret position is moved to the right side

       // do MY stuff
    }

}

更新:你知道我在说什么... =>

alt text

Caret直接在“Harold ......”这个词之前,然后我按了空格键几次,将“Harold ......”移到右边。但是黑色下划线的格式似乎被卡住......如何使下划线保持附加到包含名称“Harold ...”的Run对象?

我想要在KeyDown事件中捕获空格键的原因是获取新的隐式创建的Run-object并删除黑色下划线。

2 个答案:

答案 0 :(得分:1)

事件发生前会触发“预览”事件。处理完事件后会触发一个等效的KeyDown事件。而不是连接到该事件,您的代码将在WPF完成处理按键后运行。

答案 1 :(得分:0)

这就是为什么它叫做PreviewKeyDown ...你想要的事件可能是KeyDown或TextChanged