WPF アプリケーションでホストされている Visio Drawing Control でコンテキスト メニューを使用する際に問題が発生しています。DrawingControl は WindowsFormsHost コントロールによってホストされており、標準の右クリック動作をオーバーライドして、次のようなカスタム ContextMenu を追加したいと考えています。
<WindowsFormsHost Grid.Row="0" Grid.Column="1" Name="_WFHost"
SnapsToDevicePixels="True">
<visio:AxDrawingControl x:Name="_drawingControl"/>
<WindowsFormsHost.ContextMenu>
<ContextMenu StaysOpen="True" Name="VisioContextMenu">
<MenuItem x:Name="QuotaMenuItem" Header="Quota" Click="QuotaMenuItem_Click"/>
<MenuItem x:Name="TraslaMenuItem" Header="Trasla" Click="TraslaMenuItem_Click"/>
</ContextMenu>
</WindowsFormsHost.ContextMenu>
</WindowsFormsHost>
コード ビハインド ファイルでは、Visio 標準のコンテキスト メニューの代わりにコンテキスト メニューが表示されるように、DrawingControl の mouseUp イベントを管理しています。ContextMenu (VisioContextMenu という名前のコード内) が表示されますが、約 2 秒後に、何もしないか操作しないと消えます。
ContextMenu を表示したいときは、IsOpen プロパティと StaysOpen プロパティを常に true に設定しますが、前述のように動作します。本当にどうしたらいいのかわからない!
何かヒントはありますか?ありがとうフランチェスコ