在没有 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 个标签,例如 img
、em
、a
等。现在我可以使用 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 之类的库,如果我了解你的情况)
我正在为我们的网站开发一个 Windows 通用应用程序,这是一个在 WordPress 上运行的博客。该应用程序从网站的 RSS 提要中获取数据。我现在遇到的问题是如何显示每篇文章的内容。 文章的示例内容如下所示:
知识本身就是痛苦,但我仍然同意伊壁鸠鲁派,同意男人的 eu lorem。让他们说我的肢体但我会听逮捕的。在你欠撒谎的危险之前,我已经被自己教导过。其实放出来会有用,因为它是生活中很重要的一部分。给他一本美食书,他说他会在院子变软时尝到古伯伦的味道。他有时甚至每天都更喜欢我的。 vim 他腐蚀 vim 他们,使他们生于 Phaedrus。不要让那两个人误会,这对他来说是一份轻松的职业,因为他是最早的人之一。或者开发者改缩自,方法需求二和。
<a title="Hyperlink" href="http://samplewebsite.com" target="_blank">Hyperlink</a><em>Bold text</em>
如您所见,文章内容包含 HTML 个标签,例如 img
、em
、a
等。现在我可以使用 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 之类的库,如果我了解你的情况)