如果WPF Richtextbox突出显示单词包含连字符,那么单词中会显示细线?

时间:2015-12-31 09:28:10

标签: wpf richtextbox highlighting word

我在WPF RichTextBox中工作。我使用下面的代码突出显示每个单词。它工作正常。但是这个单词包含连字符意思,突出显示的单词在连字符之间有一些细线。

string SelectHighlightWord(RichTextBox rtb, int offset, int length)
{       
    TextRange fullRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
    fullRange.ClearAllProperties();
    TextPointer startSelect = fullRange.Start.GetPositionAtOffset(offset);
    TextPointer endSelect = startSelect.GetPositionAtOffset(length);
    TextRange textRange = rtb.Selection;
    textRange.Select(startSelect, endSelect);
    textRange.ApplyPropertyValue(TextElement.BackgroundProperty, new SolidColorBrush(m_backgroundColor));
    textRange.ApplyPropertyValue(TextElement.ForegroundProperty, new SolidColorBrush(m_foregroundColor));
    FrameworkContentElement fce = (startSelect.Parent as FrameworkContentElement);
    if (fce != null)
    {
        fce.BringIntoView();
    }

    return rtb.Selection.Text;
}

注意:我添加了图片以便更好地理解。

Image1

Image2

1 个答案:

答案 0 :(得分:1)

您的窗口设置为TextOptions.TextFormattingMode Ideal吗?如果是,请尝试设置Display