エディターのPreviewKeyDownイベントを処理してから、KeyEventArgsのe.Handledをtrueに設定すると、入力を完全に無効にできることを知っています。
ただし、テキストが変更された後にドキュメントテキストが更新されないようにする方法を見つけようとしています。次のように、Document.Changingイベントを処理したいと思います。
textEditor.Document.Changing += Document_Changing;
ここで、textEditorは私のAvalonEditエディターです。関数で、変更されているテキストを取得したい
private void Document_Changing(object sender, DocumentChangeEventArgs e)
次に、それに基づいて計算を行います。ただし、テキストが処理される前にエディターで更新されることは望ましくありません。Document_Changingで非同期処理を行っており、終了時に別のイベントを発生させてから、更新する必要があります。視覚的な更新だけを無効にしたくはありませんが、ドキュメントを完全に更新します。
では、キーボード関連のイベントを処理するときに入力を防ぐ方法と同様に、この更新を無効にする方法はありますか?
前もって感謝します