WPF中展现HTML

业务需求:将具备表格信息的HTML片断在WPF中展现出来,并像网页端同样,能够进行input的填写,checkbox选择,最后以HTML的形式完成保存。css

 

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

你们能够参考一下WPF中WebBrowser的使用方法:传送门:http://m.blog.csdn.net/wangshubo1989/article/details/47340591web

固然你也能够直接用WebBrowser.NavigateToString(html)的方式直接处理具备html内容片断,但WPF的WebBrowser对html的后续处理,填写、保存和后续处理难以知足需求。框架

 

 

Winform的WebBrowser相对灵活一些。接下来把操做步骤分享给你们。url

1、  引入dllspa

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

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

 

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

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控件htm

 

 3、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样式(真的很方便!)
相关文章
相关标签/搜索