太字のテキストを含むRichTextBoxがありますが、ユーザーがセミコロンを入力したときに、プログラムで太字を「終了」させる必要があります;
。
たとえば、私のリッチテキストボックスには次の太字のテキストがあります。
hello world
セミコロンを追加して;
入力を続けると、次のようになります。
hello world;
how are you?
私は次の線に沿って何かを試しました:
var newRun = new Run();
paragraph.Inlines.InsertAfter(paragraph.Inlines.LastInline, newRun);
CaretPosition = newRun.ElementEnd;
しかし、新しく作成された実行は、私が入力しているものではないようです(それが存在しないのか、それとも入力していないのかはわかりません)。
誰かがこの問題を回避する良い方法を知っていますか?
更新:デフォルトのテキストで実行して動作します。
ランを作成すると、次のことに気づきました。
var newRun = new Run(" ")
そうすれば動作しますが、スペースを追加したくない場合があります。何か洞察はありますか?