在Windows桌面端软件(wpf、winform)中使用浏览网页的控件

       在实际使用过程中webbrowser各种问题都很棘手,比如获取DOM上的事件、对H5的支持等,所以一直在想着有没有合适的浏览器插件来替换。因为项目对安装包的大小有限制,所以cefsharp不被纳入方案内。后来发现微软除了好几个替代webbrowser的控件,这些控件都是UWP控件在winform或者wpf上的移植(可以在wpf\winform上使用的UWP控件集合)。安装这些控件,首先需要安装Windows Community Toolkit(安装方法)。

1.webview:在Windows 10, version 1803及以上版本使用。可以使用Edge引擎展示web内容,可以更好地展示H5内容。详细介绍

        现在有webview2体验版,使用 Microsoft Edge (Chromium) 来展示web内容,但是webview2目前还不支持win10以下的版本,而且不支持wpf(以后会支持)。

安装命令(nuget包):

winform:

Install-Package Microsoft.Toolkit.Forms.UI.Controls.WebView -Version 6.0.0

wpf:

Install-Package Microsoft.Toolkit.Wpf.UI.Controls.WebView -Version 6.0.0

2.WebViewCompatible:这个控件是一个兼容的webview,可以在win7上使用,在win10上使用Microsoft Edge渲染网页,在win7\win8上使用webbrowser(也就是使用IE内核)渲染网页。详细介绍

安装命令(nuget包)同上。

以上这两个控件都存在一定的限制,比如都只支持Visual Studio 2017、win10 17110及以上版本、NET Framework 4.6.2及以上版本,另外,如果要在高显示率(DPI)设备上显示,还需要进行另外的设置。

要查看使用WinRT功能的WPF或WinForms应用程序示例,可以在GitHub上签出Microsoft.Toolkit。该工具包正在使用控件来实现WebView,XAML,着墨和地理位置数据等功能。您也可以从Microsoft Store下载Windows Community Toolkit示例应用程序,以查看实际的控件,而不需要进入查看代码。

        另外微软于再次宣布了Windows 10 WinRT API Pack。新的API包能够为WinForms和WPF添加此前通常仅为WinRT(包括UWP)应用的诸多功能。其中包括地理位置、Windows AI、机器学习、面向网页内容的WebView功能以及诸多XAML控件。

       目前这个新API Pack以NuGet包的方式在nuget.org提供下载,支持Windows 10 Version 1803及更高版本使用。要将其添加到项目中,首先需要对其进行设置以支持Package Reference。然后,选择适用于您要定位的Windows 10版本的软件包,您将能够在WPF和WinForms应用程序中使用WinRT功能。

安装Windows 10 WinRT API Packs

 

参考:https://www.cnbeta.com/articles/tech/895087.htm?utm_source=taboola&utm_medium=exchange

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值