2016-11-09 49 views
0

在我的WPF应用程序中,我在CefSharp Web浏览器中加载URL。当我给小鼠右击,默认上下文菜单显示如下图像WPF - 在CefSharp铬浏览器中右键单击时删除默认上下文菜单

enter image description here

我的XAML代码是

<Window x:Class="StoneApp.WebviewWindow" WindowState="Maximized" 
    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:cefSharp="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf" 
    xmlns:local="clr-namespace:StoneApp" 
    mc:Ignorable="d" 
    Title="MyApp"> 

<DockPanel> 

    <Grid x:Name="mygrid"> 
     <cefSharp:ChromiumWebBrowser x:Name="my_webview" IsBrowserInitializedChanged ="InitializeBrowser" Grid.Row="0" MouseRightButtonDown="Rightbtn_MouseDown"/> 
    </Grid> 

</DockPanel> 

</Window> 

我xaml.cs代码

public WebviewWindow(string webresponse) 
    { 
     InitializeComponent(); 
     this.webresponse = webresponse; 
    } 

    private void InitializeBrowser(object sender, DependencyPropertyChangedEventArgs e) 
    { 
     my_webview.Load(webresponse); 
    } 

    private void Rightbtn_MouseDown(object sender, MouseButtonEventArgs e) 
    { 
     if (e.RightButton == MouseButtonState.Pressed) 
     { 
      e.Handled = false; 
     } 
    } 

当我给rightclick我也无法调用'Rightbtn_MouseDown'函数。所以我的问题是我想删除/隐藏默认的上下文菜单,当右键单击浏览器视图。你可以给我任何关于这个问题的帮助。提前致谢。

回答

0

您只需要覆盖默认IContextMenuHandler

webView.MenuHandler = new MenuHandler(); 

internal class MenuHandler : IContextMenuHandler 
{ 
    public bool IContextMenuHandler.RunContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model, IRunContextMenuCallback callback) 
    { 
     return false; 
    } 

    public void IContextMenuHandler.OnBeforeContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model) 
    { 
     model.Clear(); 
    } 
} 

你可以阅读更多关于此这里:https://github.com/cefsharp/CefSharp/blob/master/CefSharp.Wpf.Example/Handlers/MenuHandler.cs

相关问题