WPF RichTextBox で選択したトークンにフォーマットを適用しています。これを行うには、強調表示したいトークンを含む TextRange を取得します。次に、次のようにテキストの色を変更します。
// Get start and end pointer for token
TextPointer startPointer = run.ContentStart.GetPositionAtOffset(startOffset);
TextPointer endPointer = run.ContentStart.GetPositionAtOffset(endOffset);
// Get text range for token
TextRange textRange = new TextRange(startPointer, endPointer);
// Highlight token
textRange.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Blue);
これは、RichTextBox の TextChanged イベントで発生しています。
書式設定は期待どおりに適用されますが、テキストの入力を続けると、隣接する単語に既に適用されている書式設定が新しいテキストに継承されます。RichTextBox プロパティで定義されている既定の書式設定オプションを使用して、新しいテキストの書式設定を行いたいと考えています。これは可能ですか?
または、デフォルトの書式設定オプションを使用して青色にしたくないすべてのトークンを強調表示することもできますが、これは私には厄介です。