У меня возникают проблемы с использованием контекстного меню в Visio Drawing Control, размещенном в приложении WPF. 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>
В файле кода программной части я управляю событием mouseUp DrawingControl, чтобы мое контекстное меню отображалось вместо стандартного Visio. ContextMenu (в коде с именем VisioContextMenu) появляется, но примерно через 2 секунды исчезает, если я ничего не делаю или взаимодействую с ним.
Когда я хочу показать ContextMenu, я всегда устанавливаю для свойств IsOpen и StaysOpen значение true, но оно ведет себя так, как было указано ранее. Я действительно не знаю, что делать!
У вас есть подсказки? Спасибо, Франческо.