【问题标题】:WPF RichTextBox TextChangedEvent - Finding Nearest Paragraph StartWPF RichTextBox TextChangedEvent - 查找最近的段落开始
【发布时间】:2011-04-06 15:19:00
【问题描述】:

在 .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以外的其他东西?

【问题讨论】:

    标签: c# wpf richtextbox


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-27
      • 2020-04-29
      • 1970-01-01
      • 1970-01-01
      • 2023-01-26
      • 2015-11-03
      相关资源
      最近更新 更多