C# Windows 8 Metro RichTextColumns嵌入超链接和图像

C# Windows 8 Metro RichTextColumns嵌入超链接和图像,c#,xaml,windows-8,microsoft-metro,C#,Xaml,Windows 8,Microsoft Metro,我正在用C#和XMAL为Windows8构建一个简单的rss阅读器应用程序 提要返回文章正文的html内容 我创建了一个ItemDetailPage,在其中,它使用RichTextBlock列来显示文本列,这看起来很棒 因此,我将一个Content属性绑定到富文本块,该块使用htmluties.ConvertToText解析html内容中的文本 这很有效。然而,我仍然希望在内容中有超链接和图像。最初我使用的是WebView和NavigateToString,但是您不能使用列,所以需要一长页的文本

我正在用C#和XMAL为Windows8构建一个简单的rss阅读器应用程序

提要返回文章正文的html内容

我创建了一个ItemDetailPage,在其中,它使用RichTextBlock列来显示文本列,这看起来很棒

因此,我将一个Content属性绑定到富文本块,该块使用htmluties.ConvertToText解析html内容中的文本

这很有效。然而,我仍然希望在内容中有超链接和图像。最初我使用的是WebView和NavigateToString,但是您不能使用列,所以需要一长页的文本,这是我不想要的

有办法做到这一点吗?我可以使用的metro端口解析图像和超链接 Html敏捷包,但有没有办法嵌入这些超链接和图像?对于图像,我考虑将其添加到richtextcolumns类中,以便在创建新列时,在添加之前添加一个图像。这可能行得通,但如果在每一列的开头都有一个图像,那就太糟糕了


有人知道如何实现这一目标吗?我会像他们设计的contoso新闻应用程序一样。如果您滚动到文章页面,他们在文章内容中有一个块引号

这并不容易,但对于简单到适中的HTML来说,这是可以做到的。请参见MSDN上的此示例项目:


RichTextBlock包含段落集合,段落是内联线列表。内联线通常是运行的,但是您也可以使用InlineUIContainer作为内联线。InlineUIContainer有一个子元素,它可以由您想要的任何XAML元素、超链接或图像来定义

我个人使用此函数将超链接从html转换为内联:

    public void AddLink(XElement element)
    {
        var link = element.Attribute("href").Value;

        InlineUIContainer uc = new InlineUIContainer();
        TextBlock tb = new TextBlock();
        tb.Margin = new Thickness(0, 0, 0, 0);
        var run = new Run();
        run.Text = element.Value;
        tb.Inlines.Add(run);
        tb.Tapped += (s, e) =>
        {
            Launcher.LaunchUriAsync(new Uri(link, UriKind.Absolute));
        };
        uc.Child = tb;
        paragraph.Inlines.Add(uc);
    }

您可以对图像进行类似的思考

在哪里使用此功能?作为原始帖子中提到的Html敏捷包解析的一部分?