码迷,mamicode.com
首页 > Web开发 > 详细

CozyRSS开发记录17-Html2Xaml

时间:2016-05-23 09:06:24      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

CozyRSS开发记录17-Html2Xaml

1、RssContentView还需要优化

上回做了RssContentView的显示,但是对于rss返回的描述(摘要),连换行的没有,更别说里面还有html描述符了。换行比较好解决,加个限定大小,再加一个自动换行的描述就可以了:

TextWrapping="Wrap"  Margin="10 12 10 10"

2、在wpf里显示html的方法

显示html,有两个方向:

A、直接显示html

B、将html转换成别的内容再显示

先说直接显示html,又有几种比较可行方案:

A.1、使用wpfWebBrowser控件

A.2、使用winformWebBrowser空间

A.3、使用cefCefSharp库)

这几种方法,有的可以直接加载html的内容,有的需要先构造一个临时的html文件。都能实现效果,而且对html支持得很好,但是也有一个缺点:网页控件和wpf的原生描绘的控件不能完美的融合成一体。

html转换成别的内容再显示,也有几种比较可行的方案:

B.1、转成md再显示(Html2Markdown库)

B.2、直接转成xaml

最终,我选择的是Html2Xaml这个方案,毕竟xaml对文档布局的表达能力不比html弱。有一个比较好的可供参考的库,RichTextBlock.Html2Xaml,然而它是给WinRt用的。千辛万苦,我还是找到了一个能在wpf用的库:HtmlTextBlock

3、使用HtmlTextBlock

nuget添加HtmlTextBlock,然后参考HtmlTextBlockTest添加一个控件,就可以显示html了:

 技术分享

效果有问题,因为html里标记是尖括号的<b>,而HtmlTextBlock解析的是中括号[b],,所以我们需要转换一下。另外, 也没有处理,我们把它转成空格。最后,相关的代码和效果如下:

 技术分享

 技术分享

感觉还是不够好,而HtmlTextBlock也是开源的,所以,以后也许会自己再造一个Html2Xaml的库吧。

CozyRSS开发记录17-Html2Xaml

标签:

原文地址:http://www.cnblogs.com/zapline/p/5518685.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!