【问题标题】:WPFToolkit RichTextBox - Update text color on typingWPFToolkit RichTextBox - 在输入时更新文本颜色
【发布时间】:2011-10-16 09:39:41
【问题描述】:

我正在使用 WPFToolkit RichTextBox 以允许用户查看和编辑文本。 我需要支持的一件事是在键入特定单词时以及从预先存在的源加载它们时对其进行着色。

例如,如果用户输入“Hello”这个词,它应该是蓝色的。

由于我使用的是 MVVM,我希望尽可能避免代码落后。

到目前为止,我一直在尝试使用自定义 TextFormatter 在 ViewModel 中处理此问题,但是它仅在我更新源属性时才有帮助,并且当我直接更新 RichTextBox 时,它没有为任何内容着色,因为 TextFormatter 的 SetText 没有甚至打电话。只调用了 SetText。

希望大家能帮帮我。

谢谢!

【问题讨论】:

  • 您能否发布一些代码,说明您是如何使用 TextFormatter 的?

标签: wpf mvvm richtextbox wpftoolkit


【解决方案1】:

最后我使用了我在这里找到的解决方案 - http://blogs.microsoft.co.il/blogs/tamir/archive/2006/12/14/RichTextBox-syntax-highlighting.aspx

它正在完成它的工作,但在快速打字或按住退格键时有时会出现轻微的打嗝。

所以现在它已经足够好了,因为我的 RichTextBox 相对较小。

如果有人知道如何解决打嗝,那就太好了!

编辑:我找到了一种真正改善打嗝的方法。我使用了 DispatcherTimer 并在 TextChanged 事件上启动它,这样只有在一秒/半秒后,它才会启动着色逻辑。到目前为止,它的工作速度要快得多,而且我在快速打字时没有发现任何问题。因此,对于我对带有彩色单词的单行的需求,它似乎奏效了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多