2011-12-16 10 views
0

WPF 응용 프로그램에서 호스팅되는 Visio Drawing 컨트롤의 상황에 맞는 메뉴를 사용하는 데 문제가 있습니다. 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> 

가 나는 것을 얻기 위해 DrawingControl의 mouseUp 이벤트를 manange 내 상황에 맞는 메뉴 대신 Visio 표준 창이 나타납니다. VisioContextMenu라는 코드의 ContextMenu가 표시되지만 약 2 초 후에 아무 것도하지 않거나 상호 작용하면 둘 다 사라집니다.

ContextMenu를 표시하려면 항상 IsOpen 및 StaysOpen 속성을 true로 설정하고 이전에 설명한대로 동작해야합니다. 나는 정말로 무엇을 해야할지 모른다!

몇 가지 힌트가 있습니까? 감사합니다. Francesco

답변

0

코드를 게시해도 도움이되지만, 마우스 업 이벤트를 올바르게 처리하고 있는지 확인해야합니다.

그 중 하나만 문제가 될 수 있습니다. 해당 이벤트를 제거하십시오.