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.

Это само по себе может быть проблемой - попробуйте удалить это событие.

Другие вопросы по тегам