【问题标题】:Highlight Text in RichTextBlock突出显示 RichTextBlock 中的文本
【发布时间】:2016-06-09 13:52:21
【问题描述】:

我正在构建一个 Windows 8.1 平板电脑应用程序,我想突出显示 RichTextBlock 中的一些文本。

有谁知道如何突出显示 RichText中的文本。我找到了 RichTextBox 的解决方案,但它只适用于 WPF 应用程序,这不是我的情况。

否则,有什么解决方法吗?

谢谢

【问题讨论】:

    标签: c# xaml windows-8 microsoft-metro windows-8.1


    【解决方案1】:

    WinRT XAML ToolkitHighlightBehaviorTextBlock 的行为。但我猜你可以为RichTextBlock 重写它。您需要获取所有具有Text 属性的对象。我想你可以从这个逻辑开始,为你的RichTextBlock组织一个新的Blocks

    foreach (var block in richTextBlock.Blocks)
    {
        var paragraph = block as Paragraph;
        if (paragraph != null)
        {
            var runCollection = paragraph.Inlines.Where(x => x is Run).Cast<Run>().ToList();
            foreach (var inline in runCollection)
            {
    
            }
        }
    }
    

    【讨论】:

    • 您有任何将它与 TextBlock 一起使用的示例吗?我将尝试使其与富文本块一起使用。
    • @Daniel 是的,下载WinRT Xaml Toolkit 的源代码并查看高亮示例TextBlock
    • WinRT XAML 工具包中的 HighlightBehavior 只是更改了某些单词的前景色,而不是背景色。它并没有真正突出显示。
    猜你喜欢
    • 2018-07-05
    • 1970-01-01
    • 2011-08-31
    • 2015-05-29
    • 1970-01-01
    • 2013-10-25
    • 2012-02-24
    • 2011-08-06
    • 1970-01-01
    相关资源
    最近更新 更多