RichTextBox:查找相应的索引

本文关键字:索引 查找 RichTextBox | 更新日期: 2023-09-27 18:25:54

假设我有一个WPF RichTextBox,内容如下:

Hello Hello // <== here is a line break 'r'n
Turn Your Radio On!

然后,我阅读了带有以下代码的框中的文本:

public static string GetText(this RichTextBox box)
{
    var range = new TextRange(box.Document.ContentStart,
                            box.Document.ContentEnd);
    return range.Text;
}

然后我检索CCD_ 3和CCD_
基于indexlength如何在RichTextBox中选择该文本纯字符串中的index/lengthRichTextBox所期望的不匹配。

我从这里的答案中尝试了这种方法,但如果文本包含换行符/段落,这种方法似乎不起作用。

注意:我的字符串操作(查找index/length)比示例复杂得多,但这里给出的示例很好地描述了我的问题

RichTextBox:查找相应的索引

RichTextBox有一个Selection属性,您可以调用它的"Select"方法。它接受两个TextPointer对象,一个用于选择的开始,另一个用于它的结束。

http://msdn.microsoft.com/en-us/library/system.windows.documents.textrange.select.aspx

我认为索引和长度属性不足以让您选择文本。你必须得到真正的TextPointer。

尝试使用一种方法来查找特定的单词TextPointers,例如这里指定的方法-

http://blogs.microsoft.co.il/blogs/tamir/archive/2006/12/14/RichTextBox-syntax-highlighting.aspx