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 ...
随机推荐
- jenkins集群 - HTMLreport测试报告
一.安装 HTML Publisher plugin 插件 插件下载地址 二.配置构建后步骤 三.编辑报告执行脚本 四.安装 Startup Trigger 和 Groovy 插件 1.安装原因: J ...
- virtualbox设置了共享文件夹却无权限访问
在virtualbox中设置共享文件夹后,然后登陆ubuntu系统访问共享文件夹,发现没有权限.查看共享文件夹的属性可知,共享文件夹的所有者是root,所属的组是vboxsf.以用户登录的时候,自然是 ...
- Qt开发经验小技巧156-160
Qt的UI界面在resize以后有个BUG,悬停样式没有取消掉,需要主动模拟鼠标动一下. void frmMain::on_btnMenu_Max_clicked() { ...... //最大化以后 ...
- Qt音视频开发27-Onvif设备搜索
一.前言 最近业余时间主要研究音视频开发这块,前面的文章写了好多种视频监控内核,一旦将这些内核搞定以后,视频监控的相关功能水到渠成.做视频监控系统,绕不过onvif这玩意,这玩意主要就是为了统一一个大 ...
- Qt音视频开发17-海康sdk解码
一.前言 在视频监控行业领域,海康当之无愧是老大,稳坐第一的宝座很多年了,近期需要将视频监控系统改成采用海康sdk的内核,于是特意去查阅了sdk的使用手册,sdk相关的文档和文件可以直接官网下载到,而 ...
- Qt音视频开发10-ffmpeg控制播放
一.前言 很多人在用ffmpeg做视频流解码的时候,都会遇到一个问题,如何暂停,如果打开的是本地视频文件,暂停你只需要停止解码即可,但是视频流你会发现根本没用,一旦你停止了解码,下次重新解码的时候,居 ...
- Windows10 64环境下用Qt5.12.12自带的mingw730_64构建编译OpenCV4.1.0时cmake-3.20.6中的参数配置
一.环境条件说明: 操作系统:Windows10 64环境 编译工具:用Qt5.12.12自带的mingw730_64构建 构建对象:编译OpenCV4.1.0的Release 64位和Debug 6 ...
- [转]vue项目启动时,npm run serve 和 npm run dev 的区别
npm run serve 和 npm run dev 的区别 在我们运行一些 vue 项目的时候,输入npm run serve或者 npm run dev的其中一个时,系统会报错: PS C:\U ...
- DVWA靶场Insecure CAPTCHA(不安全验证)漏洞所有级别通关教程及源码审计
Insecure CAPTCHA(不安全验证) Insecure CAPTCHA(不安全验证)漏洞指的是在实现 CAPTCHA(完全自动化公共图灵测试区分计算机和人类)机制时,未能有效保护用户输入的验 ...
- Linux C语言面试考点
数组 数组初始化方法 /* 以下为自动类型 *//* 一维数组 */int arr[] = {1, 3, 5}; //不指定长度,由编译器自动计算int arr[5] = {0, }; //指定长度 ...