2011-10-01 37 views
2

以类似于Android的Html.fromHtml()的方式在文本块中呈现HTML是否存在一种快速且肮脏的方式?我知道如何使用类似HtmlAgilityPack的方式手动解析它,但我真正想要的是让它在文本块中呈现它的源代码。WP7中Android的Html.fromHtml()的等价物是什么?

如果不是天真的话,也许用某种类型的自定义控件,并且我不想将它呈现为网页。

+1

有什么来自TextBlock,你需要和不能使用浏览器控制? 我相信你已经考虑过了,但无论如何都要加入它。不是网页,但是,您可以在页面中包含浏览器控件并将HTML字符串解析到其中。 browserCtrl.NavigateToString(“ HTML Text”); –

+0

@克劳斯现在有一个。捣毁一个快速和肮脏的解决方案tweeking HtmlAgility和HtmlTextblock。看到这里(http://blogs.msdn.com/b/delay/archive/2007/09/10/bringing-a-bit-of-html-to-silverlight-htmltextblock-makes-rich-text-display-easy .aspx)我今晚会上传到github。 – Terrance

回答

4

好吧对不起,花了这么长时间。我几乎忘了如何正确使用git,并没有时间上传到现在。这个HtmlTextBlock提供了一个与Silverlight相似的功能级别,它与android的等价物非常接近。它在处理更复杂的标签(如html dtd标签)时仍然有点bug,但它的工作... WP7 Html Text Block。设计主要基于这个人的Bringing-a-bit-of-html-to-silverlight-htmltextblock-makes-rich-text-display-easy。并使用html敏捷性重写与Web浏览器相关的类。有一天我会发布细节,但是,呃......现在不行。洛尔

更新

使用示例:

<local:HtmlTextBlock x:Name="htmlTextBlock" Canvas.Left="2" Canvas.Top="2" TextWrapping="Wrap" UseDomAsParser="true" Text="&ltp&gtYour Html here </p>" />

注:您的HTML将不得不被转义使得& LT = <和& GT =>

对于详细用法见:

https://github.com/musicm122/WP7HtmlTextBlock-/blob/master/HtmlTextBlockTest/HtmlTextBlockTest/MainPage.xaml

+2

很高兴你花了时间,并做了最初的努力。 –

+0

这很有趣。我很喜欢它。 – Terrance

+0

嗨@Terrance ..你可以提供任何示例或WP7中的Html.fromHtml()的示例?请.. – Vijay