在.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
以外的其他东西吗?
答案 0 :(得分:0)
刚想通了......我必须使用段落的ContentStart和ContentEnd创建一个新的TextRange,如下所示:
var range2 = new TextRange(range.Start.Paragraph.ContentStart, range.Start.Paragraph.ContentEnd);