1

Awesomium Browser Control を配置した WPF (VB) プロジェクトがあります。ブラウズでき、右クリックしてデフォルトの右クリック メニュー項目を表示できます。

私の目標は、実行時にプログラムでその右クリック コンテキスト メニューに新しいカスタム項目を追加し、それを何らかのイベントにルーティングしてロジックを処理することです。

awesomium.com Web サイトの WebControlContextMenu Class Documentation によると、2 つのオプションに制限されています。

  1. ContextMenuResourceKey をキーとして使用して、WebControlContextMenu アプリケーション リソースを再定義します。

(デフォルトのコンテキスト メニューを完全に置き換えます。WebControl にアクセスするには、DataContext プロパティを PlacementTarget プロパティにバインドする必要があります。後で、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 に答える