WPF如何使用WebView,并且禁用F12和F5。
客户端套浏览器壳,是如今比较浏览的客户端客户端开发方式。这篇文字简单来介绍一下如何在WPF中使用WebView
安装WebView的nuget包
可以直接执行安装命令 Install-Package Microsoft.Web.WebView2。
也可以通过nuget包管理器,安装 Microsoft.Web.WebView2 包。

安装成功之后,改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控件。

新建全新的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

禁用F5刷新界面和浏览器F12开发者控制台首页。
WPF运行成功之后,可以通过F5快捷键刷新界面,也可以通过F12打开开发者控制台。

但是线上环境通常是不允许进行刷新和打开开发者控制台的。可以通过如下代码进行禁用:
点击查看代码
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
WPF如何使用WebView,并且禁用F12和F5。的更多相关文章
- 网页里如何使用js禁用F12事件
接上一篇,突然想起来,类似于网页里如何使用js禁用鼠标右击事件,还有禁用F12事件也可以禁用一下,总所周知,对于Web开发人员来说,常常要进行界面的调试.使用F12调试工具能够很方便地进行调试,查看h ...
- 禁用F12和鼠标右键,防止查看控制台代码
虽然是个治标不治本的办法,还是挺有用的(对Opera无效,Opera开始控制台是Ctrl+Shift+C) 在禁用同时,自身的代码健壮性也需要加强 // 屏蔽F12 document.onkeydow ...
- JS禁用右键+禁用Ctrl+u+禁用F12
第一种方法: , , ]; document.oncontextmenu = new Function("event.returnValue=false;"),//禁用右键 doc ...
- HTML网站右键禁用F12代码 屏蔽审查元素 防止修改页面代码
<script>//禁止右键 function click(e) { if (document.all) { if (event.button==2||event.button==3) { ...
- 禁用F12,屏蔽鼠标右击、
$(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; }) ...
- js 禁用F12 和右键查看源码
<script> window.onkeydown = function(e) { if (e.keyCode === 123) { e.preventDefault() } } wind ...
- WPF设计模式下选定数据源?F12直达ViewModel的方法,超好用
您只需要在xaml上新增这一行代码,记得引用对应命名空间哦 d:DataContext="{d:DesignInstance viewModel:LoginViewModel, IsDesi ...
- WPF 自定义命令 以及 命令的启用与禁用
自定义命令: 在WPF中有5个命令类(ApplicationCommands.NavigationCommands.EditingCommands.ComponentCommands 以及 M ...
- 客户端浏览器- UWP兼容版本WebView
WebView简介 在win10之前,浏览器控件有WPF版本webBrowser.Winform版本WebBrowser,浏览器内核为IE. win10之后,微软不再维护原有的WebBrowser,转 ...
- 一个好玩的 屏蔽别人审查元素F12 右键及其他复制粘贴等
有的时候自己写的私下的个人小页面 里面有些自己的小秘密 或者别的东西 不想人别人审查元素看见 所以我提供了一段不让别人审查元素的代码(我个人比较喜欢弄有意思的东西 喜欢玩 ) //屏蔽右键菜单doc ...
随机推荐
- 执行docker ps时提示"dial unix /var/run/docker.sock: connect: permission denied"
0. 创建docker用户组 sudo groupadd docker 1. 将当前用户加入docker组 # sudo gpasswd -a $USER docker $ sudo usermod ...
- Macos 安装md5sum、sha1sum、md5deep、sha1deep
一.安装md5sum和sha1sum 方法一:brew 安装 # brew install md5sha1sum 方法二:编译安装 源码下载地址:http://www.microbrew.org/to ...
- Java中MessageFormat的坑
目录 Java中MessageFormat的坑 问题现象 问题排查 如何解决 Java中MessageFormat的坑 问题现象 某个业务功能需要通过SSH协议执行命令查询一些数据,而某次查询居然没有 ...
- 使用Visual Studio Code进行前端开发并运行前端页面时提示:npm WARN Local package.json exists, but node_modules missing, did you mean to install?
使用Visual Studio Code进行前端开发并运行前端页面时提示如下错误: npm WARN Local package.json exists, but node_modules missi ...
- [转]解决Android Studio初次配置可能会出现的Unkown Host问题
Unkown Host"杩欐槸鍦ㄤ富鏈哄悕瑙f瀽鏃堕 氬父鍑虹幇鐨勬殏鏃", You may need to adjust the proxy settings in Gradle ...
- 手把手带你使用Karpenter减少K8s集群资源浪费
Kubernetes 集群的主要成本因素之一是数据平面上的计算层.将 Kubernetes 集群运行在 Amazon EC2 Spot 实例上是一种显著降低计算成本的有效方式.使用 Spot 实例可以 ...
- 控制反转(Inversion of Control,IoC)
依赖注入(Dependency Injection,DI)和控制反转(Inversion of Control,IoC)是软件工程中两个相关但不同的概念.它们都旨在提高代码的模块化.可维护性和可测试性 ...
- SpringCloud Alibaba(四) - Nacos 配置中心
1.环境搭建 1.1 依赖 <!-- nacos注册中心 注解 @EnableDiscoveryClient --> <dependency> <groupId>c ...
- w3cschool-微信小程序开发文档-组件
https://www.w3cschool.cn/weixinapp/sp6z1q8q.html 微信小程序视图容器 view view 视图容器. 属性 类型 默认值 必填 说明 最低版本 hove ...
- Superset 下钻与交叉筛选
以下内容来自外网:https://github.com/apache/superset/issues/6774 具体查看外网,我目前还没有琢磨,如果你有了思路请再下方留言 下面这个网址也有个交叉筛选: ...