1

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

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

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

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

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

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

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

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

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

4

1 回答 1

2

阿列克谢 F 舍维廖夫:

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

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
于 2013-08-17T00:25:23.257 回答