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