我正在使用由 VS2012 的默认 Metro Style 项目模板添加的标准 RichTextColumns.cs 帮助程序类。它在内部使用 RichTextBlock 来添加 RichTextColumns。DataBinding 与以下标记一起工作正常
<common:RichTextColumns>
<common:RichTextColumns.ColumnTemplate>
<DataTemplate>
<RichTextBlockOverflow Width="400" Margin="50,0,0,0"/>
</DataTemplate>
</common:RichTextColumns.ColumnTemplate>
<RichTextBlock Width="400">
<Paragraph>
<Run Text="{Binding Content}"/>
</Paragraph>
</RichTextBlock>
现在我在“内容”中嵌入了在 WinRT 中不被视为超链接的超链接。我需要它们表现得像超链接。所以我想检索绑定到 RichTextBlock 的文本,对其进行标记,在适当的位置插入具有 HyperlinkButton 的 InlineUI 元素。现在,如果我只能检索绑定到 RichTextBlock 的文本,我就可以做到这一切。不幸的是,我似乎无法“检索”它。
我试过了
RichTextBlock value = (RichTextBlock)GetValue(RichTextContentProperty);
valueRun = (Run)((Paragraph)value.Blocks[0]).Inlines[0];
value.Select(((Paragraph)value.Blocks[0]).ContentStart, ((Paragraph)value.Blocks[0]).ContentEnd);
Paragraph para = TokenizeTweet(value.SelectedText);
但 SelectedText 始终为空。但是,如果我这样做,
value.Blocks.Clear()
它会清除正在绑定的文本。我错过了什么?
简而言之,如何在 WinRT(不是 WPF 或 Silverlight)中从 RichTextBlock 中检索无格式文本。
谢谢和问候, 苏米特。