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>

В файле кода программной части я управляю событием mouseUp DrawingControl, чтобы мое контекстное меню отображалось вместо стандартного Visio. ContextMenu (в коде с именем VisioContextMenu) появляется, но примерно через 2 секунды исчезает, если я ничего не делаю или взаимодействую с ним.

Когда я хочу показать ContextMenu, я всегда устанавливаю для свойств IsOpen и StaysOpen значение true, но оно ведет себя так, как было указано ранее. Я действительно не знаю, что делать!

У вас есть подсказки? Спасибо, Франческо.


person Fr.Usai    schedule 16.12.2011    source источник


Ответы (1)


Было бы полезно, если бы вы также разместили свой код, но я бы сказал, убедитесь, что вы правильно обрабатываете событие mouseup.

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

person klugerama    schedule 28.02.2012