我有动态添加了内联的TextBlock(基本上是一堆斜体或粗体的Run对象)。

在我的应用程序中,我具有搜索功能。

我希望能够突出显示正在搜索的TextBlock的文本。

突出显示是指更改TextBlock文本颜色的某些部分(请记住,它可能一次突出显示多个不同的Run对象)。

我已经尝试过这个示例http://blogs.microsoft.co.il/blogs/tamir/archive/2008/05/12/search-and-highlight-any-text-on-wpf-rendered-page.aspx

但是它接缝非常不稳定:(

有解决此问题的简便方法吗?

最佳答案

这个问题类似于How to display search results in a WPF items control with highlighted query terms

为了回答这个问题,我想出了一种使用IValueConverter的方法。转换器获取一个文本片段,将其格式化为有效的XAML标记,并使用XamlReader将标记实例化为框架对象。

完整的解释很长,因此我已将其发布到我的博客:Highlighting Query Terms in a WPF TextBlock

10-07 19:32
查看更多