我正在使用cefsharp chromium网络浏览器作为浏览器控件开发WPF应用程序。在我的应用程序中,当右键单击Cefsharp浏览器时,我想显示一些控件,我可以显示控件。当我右键单击时,打开自定义菜单并单击容器,然后我无法关闭自定义菜单。
我的代码是
_cefchrbrowser.Address = _address;
_cefchrbrowser.MenuHandler = new CustomMenuHandler();
我的班级
public class CustomMenuHandler : IContextMenuHandler
{
public void OnBeforeContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model)
{
model.Remove(CefMenuCommand.ViewSource);
model.Remove(CefMenuCommand.Print);
model.Remove(CefMenuCommand.Undo);
model.Remove(CefMenuCommand.Redo);
}
public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
{
return false;
}
public void OnContextMenuDismissed(IWebBrowser browserControl, IBrowser browser, IFrame frame)
{
}
public bool RunContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model, IRunContextMenuCallback callback)
{
return false;
}
}
单击浏览器时未选择任何自定义菜单项,我无法关闭菜单。