WPF RichTextBox TextChangedEvent - 查找最近的段落开始

时间:2011-04-06 06:45:43

标签: c# wpf richtextbox

在.Net 4中使用WPF,我在窗口中创建了一个小的WPF RichTextBox。我已经成功捕获了RichTextBox的TextChangedEvent事件,并且我可以遍历TextChangedEventArgs提供的更改数组。

我正在使用此处找到的代码: Best way to implement a Parsing/Editable Richtextbox in WPF

好吧,我说在运行时在RichTextBox中输入字母'a',并在TextChangedEvent期间有一个断点,以便使用调试器检查RichTextBox的内容。我想执行以下操作:

string sa =  range.Start.Paragraph.ContentStart.GetTextInRun(LogicalDirection.Forward);

但问题是,无论我在运行时放入RichTextBox,'sa'总是一个空字符串。相对于给定的更改,段落开头不应该是'sa'吗?或者我应该使用range.Start.Paragraph.ContentStart以外的其他东西吗?

1 个答案:

答案 0 :(得分:0)

刚想通了......我必须使用段落的ContentStart和ContentEnd创建一个新的TextRange,如下所示:

var range2 = new TextRange(range.Start.Paragraph.ContentStart, range.Start.Paragraph.ContentEnd);