一个常用的功能就是禁止浏览器本身的右键菜单,靠在WPF中拦截鼠标事件是不行的,可以通过设置MenuHandler来实现。

首先实现一个IContextMenuHandler。

public class NullMenuHandler : IContextMenuHandler
{
public bool RunContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model, IRunContextMenuCallback callback)
{
return false;
}
public void OnBeforeContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model)
{
model.Clear();
} public void OnContextMenuDismissed(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame)
{
} public bool OnContextMenuCommand(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame,
IContextMenuParams parameters,
CefMenuCommand commandId, CefEventFlags eventFlags)
{
throw new NotImplementedException();
}
}

然后指定chrome的MenuHandler即可。

_webView = new ChromiumWebBrowser()
{
    MenuHandler = new NullMenuHandler()

};

这种方式也可以自定义右键菜单,详细信息参考如下。MenuHandler.cs

定制右键菜单也可以采用如下做法:

  1. 用上面的方式将Chrome自己的菜单屏蔽,
  2. 把HTML元素的右键点击事件通过脚本集成的方式回调给主程序,弹出自定义的WPF右键菜单
  3. WPF的右键菜单执行后,将命令用脚本的方式传递给Chrome

这样的方式下,可以直接使用WPF的右键菜单,并且也可以根据html元素的事件灵活显示菜单,虽然工作量大些,但更加灵活和自由,也可以和系统的右键菜单风格一致。

最新文章

  1. 一个App完成入门篇-终结篇(八)- 应用收官
  2. AudioUnit 用法
  3. 这几天帮一个朋友解决了一点小问题(RF的有些小问题及解决过程)
  4. 04747_Java语言程序设计(一)_第8章_多线程
  5. Spring学习之Aop的各种增强方法
  6. TEXT文本编辑框3 点击按钮添加文本至文本输入框
  7. 获取UILabel的numberOfLine
  8. oracle数据库启动和关闭方式
  9. .NET语言的编译过程:中间语言(IL)和即时编译器(JIT)
  10. shell解析my.cnf配置文件
  11. ERP采购申请管理(三十九)
  12. mfc 基类与子类
  13. java小学生四则运算带面板版 但我不知道为什么同类变量却进不了动作监听中去
  14. 【BZOJ1079】【SCOI2008】着色方案
  15. 100+torch的基础操作
  16. 接口测试SoapUI参数化之Datasource20151002
  17. zoj 2966 Build The Electric System 最小生成树
  18. 面向对象设计原则-SOLID
  19. C++深度解析教程学习笔记(4)C++中的新成员
  20. codefirst updatebase

热门文章

  1. ASP.NET私有构造函数作用
  2. Javascript Jquery 中的数组定义与操作
  3. NIO学习(1)-入门学习
  4. 【腾讯云】自己搭建的腾讯云服务器JavaEE环境
  5. linux 查看有哪些service
  6. L0,L1,L2范数,正则化,过拟合
  7. 在Windows环境中利用Responder工具窃取NTLMv2哈希
  8. 【Android】隐藏底部虚拟按键
  9. yolov2在CUDA8.0+cudnn8.0下安装、训练、检测经历
  10. .NET Core 项目经验总结:Startup.cs 介绍(二)