WPF中展示HTML

业务需求:将具有表格信息的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样式(真的很方便!)

转载于:https://www.cnblogs.com/LemonFive/p/7801471.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值