【问题标题】:Adding New Item to Awesomium (Rigth Click) Context Menu将新项目添加到 Awesomium(右键单击)上下文菜单
【发布时间】:2013-08-17 08:25:23
【问题描述】:

我有一个 WPF (VB) 项目,我在其中放置了一个 Awesomium 浏览器控件。我可以浏览,并且可以右键单击它并查看默认的右键单击菜单项。

我的目标是在运行时以编程方式将新的自定义项添加到右键单击上下文菜单中,并将其路由到某个事件以处理逻辑。

根据 awesomium.com 网站上的 WebControlContextMenu 类文档 - 我仅限于 2 个选项:

  1. 重新定义 WebControlContextMenu 应用程序资源,使用 ContextMenuResourceKey 作为键。

(完全替代默认上下文菜单。您应该将 DataContext 属性绑定到 PlacementTarget 属性,以访问 WebControl。稍后您可以使用通过 LatestContextData 提供的 [!:WebViewContext] 来更新菜单项的状态。)

  1. 将您自己的上下文菜单分配给 ContextMenu 属性。 (与之前相同,但在这种情况下,您应该提供自己的显示上下文数据。)

我尝试使用基本 ContextMenu 创建一个基本 ContextMenu 并添加一些项目,但我不知道如何将此菜单添加到现有 Web 控件。

我可以发布我的一段代码,但到目前为止我的代码都没有工作。

我从哪里开始,是否有一个演示可能有助于更好地理解它。任何可以给我一些想法的代码都非常感谢!

【问题讨论】:

    标签: vb.net contextmenu customization awesomium


    【解决方案1】:

    阿列克谢 F Shevelyov:

    我们的团队想出了以下解决方案来解决这个问题:

    Public Sub Test() Handles Browser.ShowContextMenu
        Dim oArray(2) As MenuItem
        Dim oMenuItem As New MenuItem
        oMenuItem.Header = "Who Runs It ?!?"
    
        oArray(0) = oMenuItem
    
        Dim oMenuItem1 As New MenuItem
        oMenuItem1.Header = "Brogrammaz"
    
        oArray(1) = oMenuItem1
    
        Dim oMenuItem2 As New MenuItem
        oMenuItem2 .Header = "Get Some..."
    
        oArray(2) = oMenuItem2 
    
        Application.Current.Resources.Clear()
        Application.Current.Resources.Add(WebControl.ContextMenuPageItemsArrayRecourceKey, oArray)
        Application.Current.Resources.Add(WebControl.ContextMenuInputItemsArrayRecourceKey, oArray)
    End Sub here
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-09
      • 1970-01-01
      • 2015-06-15
      • 1970-01-01
      相关资源
      最近更新 更多