zoukankan      html  css  js  c++  java
  • 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样式(真的很方便!)
  • 相关阅读:
    hdu 2586 How far away ?(LCA模板题)
    Kattis
    SPOJ LEXSTR 并查集
    POJ 3159 Candies(spfa、差分约束)
    POJ 2240 Arbitrage (spfa判环)
    hdu 3974 Assign the task (线段树+树的遍历)
    POJ 2387 Til the Cows Come Home (dijkstra模板题)
    FZU 2150 Fire Game (高姿势bfs--两个起点)
    POJ 3414 Pots (dfs,这个代码好长啊QAQ)
    LightOJ 1422 Halloween Costumes
  • 原文地址:https://www.cnblogs.com/LemonFive/p/7801471.html
Copyright © 2011-2022 走看看