突出显示WPF中的行/字符

时间:2015-03-16 11:26:05

标签: wpf textbox lines highlighting

方案

我目前正在开发一个应用程序。在这个应用程序中,我有一个TextBox / RichTextBox。我还没有决定控制。在此控件中,将有几段文字。

问题 我希望能够使用两个给定的数字突出显示该行中的一系列行或特定字符。最简单的方法是什么?

1 个答案:

答案 0 :(得分:1)

使用RichTextBox。您不能使用TextBox,因为TextBox只有一种样式应用于所有文本。

使用TextRange.ApplyPropertyValue方法。 TextRange由其起始位置和结束位置指定,即两个TextPointer

像这样的东西

var startingPos = RichTextBox1.ContentStart.GetPositionAtOffset(n1, LogicalDirection.Forward);
var endingPos = startingPos.GetPositionAtOffset(n2 - n1, LogicalDirection.Forward);
var textrange = new TextRange(startingPos, endingPos);

textrange.ApplyPropertyValue(TextElement.BackgroundProperty, Brushes.DarkRed);

您必须仔细计算起始位置和结束位置的偏移量,并考虑换行符。