使用RichTextBlock或其他组件在WinRT中显示Html

Lib*_*tal 10 html c# converter windows-8 windows-runtime

我想用一些组件在字符串中显示html.现在我正在使用RichTextBlock,我尝试了几个扩展来将html转换为xaml或rtf,但我没有找到任何使用WinRT的人.我知道我可以使用WebView但它不是那么漂亮.我只是想做一点改变ItemDetailPage(使用RichTextBlock的地方)向用户显示基本的html(粗体,斜体,链接,图像......).

是否有一些组件或某种方式如何做到这一点(而不是webview)?还是有工作转换器?

Jua*_*anK 2

你有2种方法

  1. 构建或获取您自己的 html 到 xaml 解析器以将内容用作 RichTextBox 源
  2. 使用WebView显示html内容

我推荐WebView,因为这个组件有很多功能很难作为解析器实现

  • JavaScript 支持
  • CSS 支持
  • 格式错误(现实世界)html 支持
  • ETC

因此,在WebView控件中,您可以使用WebView.NavigateToString方法来显示存储在字符串中的html内容。

您甚至可以修改字符串来更改样式、添加脚本等,因为您需要自定义 webview 的外观和感觉。

NavigateToString 不支持绑定,但我写了一篇文章(西班牙语),教授如何使用附加属性:http://blogs.msdn.com/b/juank/archive/2012/10/29/tutorial-crear-app-讲师-rss-winrt-parte-7.aspx

使用此代码(plex)来解析,如果它不完全适合您可以更改您自己的代码。;) http://html2xaml.codeplex.com/

否则,您将自己创建颂歌,如果您想在列文本中分页(以水平阅读),则必须使用 RichTextBlock,使用 RichTextColumns hepler 类(当您从模板启动应用程序时包含在 Common/ 文件夹中)并尝试解析HTML 到 XAML。