- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用WPFToolkit RichTextBox,以允许用户查看和编辑文本。
我需要支持的一件事是在键入特定单词时以及从预先存在的源中加载特定单词时为其着色。
例如,如果用户键入单词“Hello”,则应将其涂成蓝色。
由于我使用的是MVVM,因此我希望尽可能避免后面的代码。
到目前为止,我一直在尝试使用自定义TextFormatter在ViewModel中处理此问题,但是仅当我更新source属性并且直接更新RichTextBox时,它才起作用,因为TextFormatter的SetText甚至都没有被调用,所以它什么也没有着色。仅调用SetText。
我希望你们能帮助我。
谢谢!
最佳答案
最后,我使用了在这里找到的解决方案-
http://blogs.microsoft.co.il/blogs/tamir/archive/2006/12/14/RichTextBox-syntax-highlighting.aspx
它正在执行其工作,但是在快速键入或按住退格键时有时会出现一些小问题。
因此,由于我的RichTextBox相对较小,因此它现在已经足够好了。
尽管如果有人知道如何解决打ic的问题,那将真的很棒!
编辑:我找到了一种方法来真正改善打ic。我使用了DispatcherTimer并在TextChanged事件上将其启动,这样只有一秒钟/半秒之后,它才会启动着色逻辑。到目前为止,它的运行速度要快得多,而且快速键入时我没有发现任何问题。因此,对于我需要用彩色文字进行单行显示的方式,似乎很有效!
关于wpf - WPFToolkit RichTextBox-键入时更新文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7783470/
我是一名优秀的程序员,十分优秀!