【发布时间】:2016-06-09 13:52:21
【问题描述】:
我正在构建一个 Windows 8.1 平板电脑应用程序,我想突出显示 RichTextBlock 中的一些文本。
有谁知道如何突出显示 RichText块中的文本。我找到了 RichTextBox 的解决方案,但它只适用于 WPF 应用程序,这不是我的情况。
否则,有什么解决方法吗?
谢谢
【问题讨论】:
标签: c# xaml windows-8 microsoft-metro windows-8.1
我正在构建一个 Windows 8.1 平板电脑应用程序,我想突出显示 RichTextBlock 中的一些文本。
有谁知道如何突出显示 RichText块中的文本。我找到了 RichTextBox 的解决方案,但它只适用于 WPF 应用程序,这不是我的情况。
否则,有什么解决方法吗?
谢谢
【问题讨论】:
标签: c# xaml windows-8 microsoft-metro windows-8.1
从WinRT XAML Toolkit 看HighlightBehavior。 TextBlock 的行为。但我猜你可以为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)
{
}
}
}
【讨论】:
WinRT Xaml Toolkit 的源代码并查看高亮示例TextBlock