說我有一個WPF
RichTextBox
具有以下內容:的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;
}
之後我找回var index = text.IndexOf("Hello\r\nTurn")
和var length = "Hello\r\nTurn".Length
。
基於index
和length
: 如何在RichTextBox中選擇該文本?普通字符串中的index/length
與RichTextBox
預期的內容不匹配。
我試圖從answer here的方法,但如果文本包含換行/段落,這似乎不工作。
注:我的字符串操作(查找index
/length
)是大大高於這個例子更復雜,但在這裏給出的例子說明我的問題以及
我試圖GetPositionAtOffset,這是沒有任何幫助。 – Paparazzi 2012-02-27 23:30:36
@ H.B。我在標題中添加了WPF,以表明它不*關於WinForms RichTextBox。這是不是很沮喪? – yas4891 2012-02-28 05:24:36
@ yas4891:是的,因爲我們有標籤部分。人們通常在做出假設之前檢查標籤,特別是如果它不明顯。 (你甚至在第一句話中提到了WPF,所以它應該很清楚) – 2012-02-28 05:28:33