10

我想用一些组件在字符串中显示 html。现在我正在使用 RichTextBlock 并且我尝试了一些将 html 转换为 xaml 或 rtf 的扩展,但我没有发现任何可以使用 WinRT。我知道我可以使用 WebView,但它不是那么漂亮。我只想对ItemDetailPage(使用 RichTextBlock 的地方)做些小改动,以向用户展示基本的 html(粗体、斜体、链接、图像……)。

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

4

3 回答 3

3

我终于厌倦了缺乏 WinRT 支持的 Html 到 Xaml 的转换并编写了我自己的。为了好玩,我把它放在codeplex上。为了更进一步,为了试验 NuGet,我也在那里发布了它......

显然,这不是 Html 到 Xaml 转换的全部结束,但它是一个开始......

于 2012-12-31T20:20:44.997 回答
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/

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

于 2012-10-30T10:34:08.917 回答
1

我已经实现了一个解析 HTML 并使用本机控件呈现 HTML 的库。该组件非常灵活且可扩展。

看一下:

于 2014-10-22T08:01:40.447 回答