CozyRSS开发记录17-Html2Xaml_html/css_WEB-ITnose
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、使用wpf的WebBrowser控件
A.2、使用winform的WebBrowser空间
A.3、使用cef(CefSharp库)
这几种方法,有的可以直接加载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里标记是尖括号的,而HtmlTextBlock解析的是中括号[b],,所以我们需要转换一下。另外, 也没有处理,我们把它转成空格。最后,相关的代码和效果如下:
感觉还是不够好,而HtmlTextBlock也是开源的,所以,以后也许会自己再造一个Html2Xaml的库吧。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文讨论了html< datalist>元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML< Progress>元素,其目的,样式和与< meter>元素。主要重点是使用< progress>为了完成任务和LT;仪表>对于stati

本文讨论了HTML< meter>元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了< meter>从< progress>和前

本文讨论了< iframe>将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

本文解释了HTML5< time>语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit
