我有一个WPF(VB)项目,我放置了一个Awesomium浏览器控件。我可以浏览,我可以右键单击它并查看默认的右键菜单项。
我的目标是在运行时以编程方式向右键单击上下文菜单添加新的自定义项,并将其路由到某个事件以处理逻辑。
根据awesomium.com网站上的WebControlContextMenu类文档 - 我限于2个选项:
(完全替换默认上下文菜单。您应该将DataContext属性绑定到PlacementTarget属性,以访问WebControl。稍后您可以使用通过LatestContextData提供的[!:WebViewContext]来更新菜单的状态' s项目。)
我尝试使用基本的ContextMenu创建一个基本的ContextMenu并添加一些项目,但我无法想象如何将此菜单添加到现有的Web Control。
我可以发布我的代码,但到目前为止我的代码都没有。
我从哪里开始,有一个演示可能有助于更好地理解它。任何可以给我一些想法的代码都非常感谢!
答案 0 :(得分:2)
Alexey 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