C# WPF RichTextBox TextChangedEvent-查找最近的段落开头

C# WPF RichTextBox TextChangedEvent-查找最近的段落开头,c#,wpf,richtextbox,C#,Wpf,Richtextbox,使用.NET4中的WPF,我在窗口中创建了一个小的WPF RichTextBox。我已经成功捕获了RichTextBox的TextChangedEvent事件,并且可以遍历TextChangedEventArgs提供的changes数组 我正在使用以下代码: 好吧,假设我在运行时将字母“a”键入RichTextBox,并在TextChangedEvent期间设置一个断点,以便使用调试器检查RichTextBox的内容。然后,我要执行以下操作: string sa = range.Start.

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

我正在使用以下代码:

好吧,假设我在运行时将字母“a”键入RichTextBox,并在TextChangedEvent期间设置一个断点,以便使用调试器检查RichTextBox的内容。然后,我要执行以下操作:

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

但问题是,无论我在运行时向RichTextBox中输入什么,“sa”始终是空字符串。相对于给定的更改,“sa”不应该是从段落开头开始的字符串吗?或者除了
range.Start.paragration.ContentStart
之外,我还应该用别的什么吗?

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

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