如何在WPF RichTextBox中找到第N个单词的TextRange?

时间:2017-06-01 06:54:51

标签: wpf richtextbox

假设我有一个1000字的RichTextBox(WPF)(英文)。有些单词将是粗体,下划线,斜体和不同的FontSizes。换句话说,FlowDocument中嵌入了许多元素标记。

如果不知道这个单词是什么,我怎么能完全选择第13个单词 - 只有第13个单词,即使它有嵌入的元素标签(比如说某些字符是Bold,或者是下划线等)?

(我还没有找到任何与谷歌相关的解决方案,我仍然觉得RichTextBox是一个相当难以使​​用的控件)。

示例:"这是一个测试。" 鉴于:3 结果:单词"的测试"。

的TextRange

任何建议或想法都将非常受欢迎。

TIA

编辑。似乎需要一个循环:(。无论如何,这篇博文最有助于回答这个问题:Navigate Words in RichTextBox

1 个答案:

答案 0 :(得分:0)

不太确定你对embaded元素标签的意思,我试了一下,这就是我做的:

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

如果我不清楚或您打算实现其他目标,请告诉我。