2011-12-16 3 views
0

У меня возникли проблемы с использованием контекстного меню в Visio Drawing Control, размещенном в приложении WPF. DrawingControl размещаются управлением WindowsFormsHost, и я хочу, чтобы переопределить стандартное поведение щелчка правого добавив пользовательские ContextMenu так: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> 

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

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

У вас есть несколько советов? Спасибо Francesco

ответ

0

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

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