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樣式(真的很方便!)
相關文章
相關標籤/搜索