我正在将格式应用于 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 属性中定义的默认格式选项。这可能吗?
或者,我可以使用默认格式选项突出显示我不希望为蓝色的所有标记,但这对我来说感觉很尴尬。