WPF如何使用WebView,并且禁用F12和F5。

客户端套浏览器壳,是如今比较浏览的客户端客户端开发方式。这篇文字简单来介绍一下如何在WPF中使用WebView

安装WebView的nuget包

可以直接执行安装命令 Install-Package Microsoft.Web.WebView2。
也可以通过nuget包管理器,安装 Microsoft.Web.WebView2 包。
image
安装成功之后,改nuget包有三个程序集。分别是Microsoft.Web.WebView2.Core.dll、Microsoft.Web.WebView2.WinForms.dll和Microsoft.Web.WebView2.Wpf.dll。其中Microsoft.Web.WebView2.Core.dll负责对WbeView的核心业务进行封装。Microsoft.Web.WebView2.WinForms.dll和Microsoft.Web.WebView2.Wpf.dll分别是用于WPF和Winform的程序集,主要封装了WPF版本的WebView空间和Winforn版本的WebView控件。
image

新建全新的WPF项目,主窗体声明命名空间,然后引入WebView空间。

声明命名空间的代码如下:
xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"
引入WebView控件的代码如下:
<wv2:WebView2 Name="webView" Source="https://www.baidu.com"/>
其中Name属性为控件的名称,Source指定WebView需要导航的Url地址,可以是一个互联网地址,也可以是一个本地html地址。
MainWindow.xaml的所有代码如下:
``

点击查看代码
<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        mc:Ignorable="d"
        xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <wv2:WebView2 Name="webView" Source="https://www.baidu.com"/>
    </Grid>
</Window>

启动项目 即可看到WebView成功加载指定的Url

image

禁用F5刷新界面和浏览器F12开发者控制台首页。

WPF运行成功之后,可以通过F5快捷键刷新界面,也可以通过F12打开开发者控制台。
image
但是线上环境通常是不允许进行刷新和打开开发者控制台的。可以通过如下代码进行禁用:

点击查看代码
webView.CoreWebView2InitializationCompleted += (sender, e) =>
{
    webView.CoreWebView2.Settings.AreDevToolsEnabled = false;
    webView.CoreWebView2.Settings.AreBrowserAcceleratorKeysEnabled = false;
};
当然AreBrowserAcceleratorKeysEnabled禁止的不仅仅是F5快捷键,还有其他的快捷键。 Ctrl+F and F3 for Find on Page Ctrl+P for Print Ctrl+R and F5 for Reload Ctrl+Plus and Ctrl+Minus for zooming Ctrl+Shift-C and F12 for DevTools Special keys for browser functions, such as Back, Forward, and Search 具体可以查看微软管饭的解释和说明 https://learn.microsoft.com/zh-cn/dotnet/api/microsoft.web.webview2.core.corewebview2settings.arebrowseracceleratorkeysenabled?view=webview2-dotnet-1.0.2592.51
posted @ 2024-07-23 20:06  caoruipeng  阅读(6)  评论(0编辑  收藏  举报