0

PreviewKeyDown にジャンプすると、RichTextBox のキャレットの右側にある char はまだ移動されません。私はこのイベントに言いたいのですが、あなたのものは文字を右側に移動し、それから私に私のことをさせてください。どうやってやるの?

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
    }

}

更新:私が話していることを知っていること... =>

代替テキスト

キャレットは「Harold...」という単語の直前にあり、スペースキーを数回押して「Harold...」を右に移動しました。しかし、黒い下線の書式設定が動かないようです...どうすれば、「Harold...」という名前を含む Run オブジェクトに下線を付けたままにできますか?

KeyDown イベントでスペースバー キーをキャッチしたかった理由は、新しい暗黙的に作成された Run オブジェクトを取得し、黒い下線を削除するためです。

4

2 に答える 2

1

「プレビュー」イベントは、イベントが発生する前に発生します。イベントが処理された後に発生する同等KeyDownのイベントがあります。代わりにそのイベントに接続すると、WPF がキープレスの処理を完了した後にコードが実行されます。

于 2010-10-13T11:19:15.017 に答える
0

それが PreviewKeyDown と呼ばれる理由です...必要なイベントはおそらく KeyDown または TextChanged です

于 2010-10-13T11:19:41.457 に答える