业务需求:将具有表格信息的HTML片段在WPF中展示出来,并像网页端一样,可以进行input的填写,checkbox选择,最后以HTML的形式完成保存。

天真的以为直接引入WPF中的WebBrowser即可将HTML片段加载出来,然而WPF中的WebBrowser组件只有在调用Navigate(url)之后,才能得到WebBrowser组件属性值和Document文档结构,从而得到html代码。

大家可以参考一下WPF中WebBrowser的使用方法:传送门:http://m.blog.csdn.net/wangshubo1989/article/details/47340591

当然你也可以直接用WebBrowser.NavigateToString(html)的方式直接处理具有html内容片段,但WPF的WebBrowser对html的后续处理,填写、保存和后续处理难以满足需求。

Winform的WebBrowser相对灵活一些。接下来把操作步骤分享给大家。

一、  引入dll

System.Windows.Forms.dll和WindowsFormsIntegration.dll。

两个都是.NET框架下的dll,不需要额外下载。

二、  向界面中添加定义的控件(将导入的dll引入到界面中啦)。Xaml代码部分:

xmlns:wf ="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"

xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"

//插入Winform的WebBrowser控件

<wfi:WindowsFormsHost Name="winFormsContainer">

<wf:WebBrowser x:Name="webBrowser1"/>

</wfi:WindowsFormsHost>

注意:只有在WindowsFormsHost标签下才能插入WinForm控件。当然你也可以插入其他WinForm控件

三、cs代码段

string html=“你需要展示的html代码”;

//调用引入的webBrowser1

webBrowser1.Navigate("about:blank");     //一定要创建一个空白界面。不然即使写入html成功显示也不能再次回读其中内容。

webBrowser1.Document.OpenNew(false);

webBrowser1.Document.Write(html);

webBrowser1.Refresh();

//这个时候你可以写js代码来操纵你想要的一切(如下)

String newContent = webBrowser1.Document.GetElementById("container").InnerHtml;

//也可以webBrowser写入html时加入一些css样式(真的很方便!)

欢迎大家一起交流讨论,分享一些心得体会,有问题也可以直接联系博主。

最新文章

  1. Vertica 7.1安装最佳实践(RHEL6.4)
  2. iOS 使用EZAudio库生成wav出错的情况
  3. Codeforces Round #267 (Div. 2)
  4. SCWS分词扩展在UNIX/LINUX下的安装方法
  5. ios containerViewController
  6. lintcode 中等题:Majority number II 主元素 II
  7. 用C#实现生成PDF文档
  8. C语言,数据类型
  9. 二十7天 春雨滋润着无形 —Spring依赖注入
  10. 《初识PE》导出表
  11. WeMall微信商城签到插件Sign的主要源码
  12. 新概念英语(1-109)A Good Idea
  13. 程序员必须搞清的概念-equals和=和hashcode的区别
  14. nginx的限流问题
  15. DW1000 用户手册中文版 附录3:双向测距(Two-Way Ranging)
  16. VSCode CSS自动补充前缀
  17. Xshell出现‘The remote SSH server rejected X11 forwarding request’解决办法
  18. Ext.isEmpty()的使用
  19. git 错误汇总
  20. 基于python+appium+yaml安卓UI自动化测试分享

热门文章

  1. Debian6单用户模式
  2. 基于gitHub+hexo搭建的个人博客
  3. Django中ORM表的创建以及基本增删改查
  4. 初生牛犊不怕虎 golang入坑系列
  5. SQL Server多表同时查询
  6. Struts2-整理笔记(三)结果处理跳转、获得servletAPI原生
  7. 为你解读2017年Java开发前景如何
  8. [拓扑排序]Ordering Tasks UVA - 10305
  9. HTML基础下
  10. head first python菜鸟学习笔记(第三章)