在没有 WebView 的 Windows 通用应用程序中显示 HTML 内容

Displaying HTML Content in Windows Universal Apps without WebView

我正在为我们的网站开发一个 Windows 通用应用程序,这是一个在 WordPress 上运行的博客。该应用程序从网站的 RSS 提要中获取数据。我现在遇到的问题是如何显示每篇文章的内容。 文章的示例内容如下所示:

知识本身就是痛苦,但我仍然同意伊壁鸠鲁派,同意男人的 eu lorem。让他们说我的肢体但我会听逮捕的。在你欠撒谎的危险之前,我已经被自己教导过。其实放出来会有用,因为它是生活中很重要的一部分。给他一本美食书,他说他会在院子变软时尝到古伯伦的味道。他有时甚至每天都更喜欢我的。 vim 他腐蚀 vim 他们,使他们生于 Phaedrus。不要让那两个人误会,这对他来说是一份轻松的职业,因为他是最早的人之一。或者开发者改缩自,方法需求二和。 <a title="Hyperlink" href="http://samplewebsite.com" target="_blank">Hyperlink</a><em>Bold text</em>

如您所见,文章内容包含 HTML 个标签,例如 imgema 等。现在我可以使用 WebView 显示内容,但 WebView 的怪癖,如缩放、自动水平滚动和其他,似乎不适合在应用程序中阅读。

内容存储在字符串中,如何在不使用WebView的情况下将HTML转换为XAMLUI元素并显示。

WebView 很适合 HTML 内容(或者考虑 HTML/JavaScript 应用而不是 Xaml)。如果您希望数据可见但不可操作,那么您可以使用 WebViewBrush。如果您希望 WebView 是半活动的,您还可以将 javascript 注入 WebView 以防止滚动(参见 How to disable WebView scrolling in Windows 8.1

没有直接的方法可以将 HTML 转换为 Xaml。您需要解析 HTML 并手动转换它。对于简单的标记,这可能是微不足道的。对于复杂的页面,将很难或不可能实现自动化。 HtmlAgilityPack can help parse the HTML so you can then convert the tree into similar Xaml blocks (likely within a RichTextBlock 之类的库,如果我了解你的情况)