2017-06-01 120 views
0

可以說我有一個1000字(英文)的RichTextBox(WPF)。一些單詞將是粗體,下劃線,斜體和不同的FontSizes。換句話說,FlowDocument中嵌入了許多元素標籤。如何在WPF RichTextBox中找到第N個單詞的TextRange?

不知道這個單詞是什麼,即使它嵌入了元素標籤(比如某些字符是粗體或下劃線等),我怎樣才能完全選擇第13個單詞 - 並且只有第13個單詞?

(我還沒有找到任何與谷歌解決方案,我仍然發現RichTextBox是一個相當困難的控制使用)。

例如:「這是一個測試。」 鑑於:3 結果:單詞「test」的TextRange。

任何建議或想法將不勝感激。

TIA

編輯。這似乎是一個循環將需要:(無論如何,這個博客文章是最有幫助的回答這個問題:Navigate Words in RichTextBox

回答

0

不知道你的意思是由embaded元素標籤,我給它一個嘗試,這裏是我如何做它:

string a = new TextRange(rtb.Document.ContentStart, 
rtb.Document.ContentEnd).Text; 
var b = a.Split(' '); 
string On13th = b[12]; 

讓我知道如果我不清楚,或者你打算實現別的

+0

通過嵌入式,我的意思是,其中的FlowDocument有喜歡...這是我小號一個德文本。 st。「Text」屬性是否刪除除文本字符串之外的所有內容?一旦發現b [12] ho w可以將它轉換回TextPointer嗎?最終,我需要第13個單詞的TextRange,而不是單詞本身。謝謝。 –

+0

是的,Text屬性刪除除文本字符串以外的所有內容。 對於文本範圍,能否請您提供樣本輸入和輸出? –

相關問題