2011-03-21 4 views
4

WPF의 "ContextMenu"에 대한 질문이 있습니다. "Shift-Right-Click"이 수행 된 경우에만 상황에 맞는 메뉴 팝업을 표시 할 수있는 방법이 있습니까 ?? 나는 이것을 위해 이곳 저곳을 둘러 보았습니다. ContextMenu는 "마우스 오른쪽 버튼 클릭"이 이루어질 때에 만 팝업 될 수 있습니다.(Shift- 오른쪽 클릭)을 사용하는 WPF ContextMenu

누구나 어떤 아이디어가 있습니까 ??

답변

6

이 시도 .... 당신의 XAML 상황에 맞는 메뉴의 특성은 다음과 같이한다 ...

<ElementToWhichContextMenuIsAttached ContextMenu="{StaticResource MyContextMenu}" 
            ContextMenuOpening="MyContextMenuOpening"/> 

그리고 코드 뒤에 다음과 같이 표시됩니다.

/// <summary> 
    /// This will suppress the context menu if the shift key is not pressed 
    /// </summary> 
    private void MyContextMenuOpening(object sender, ContextMenuEventArgs e) 
    { 
     // Show context menu as handled if no key is down. 
     e.Handled = !(Keyboard.IsKeyDown(Key.LeftShift) || Keyboard.IsKeyDown(Key.RightShift)); 
    } 
+0

달콤한 it 작품 tnx! BTW StaticResource 사용할 필요가 없습니다, 그냥 콘텐츠로 설정할 수 있지만 "ContextMenuOpening"동일한 것입니다. 내가 Infragistics 컨트롤에서 사용하고 있으므로, 그렇게해야합니다. – zezba9000

+0

참. 이것은 내가 가장 빨리 손에 쥐었던 예일뿐입니다 ... –

관련 문제