2010-06-09 2 views
3

나는 우리 응용 프로그램 중 하나의 새로운 프레젠테이션 구성 요소를 사용하고 있습니다. ElementWost가있는 Windows Forms 응용 프로그램에서 해당 CC를 호스팅하고 DocumentViewer가있는 사용자 지정 WPF 컨트롤을 작성합니다. C#으로 Visual Studio 2008을 사용하고 있습니다. 당신이 CTRL + P를 누르면WPF DocumentViewer에서 Ctrl + P를 사용하지 않습니다.

나는 그것을 모양을주고 그게 우리의 응용 프로그램에 완전히 통합 느끼게하기 위해 XAML을 통해 모든 사용자 정의한

하지만 한 가지 남아 ...

인쇄 대화 상자가 여전히 온다. 나는 그 기능을 무능하게하는 방법에 관한 완전한 손실에있다. 이 공통 평가 기준을 사용하는 것은 사용자가 해당 사이트에 설치된 시스템에 대한 설명서를 가져와 볼 수는 있지만 우연히 인쇄하지 못하게하는 것입니다 (100 페이지 분량).

답변

6

을 DocumentViewer에 다음 코드를 추가합니다 :

<DocumentViewer.InputBindings> 
     <KeyBinding Key="P" Modifiers="Control" Command="ApplicationCommands.NotACommand" /> 
    </DocumentViewer.InputBindings> 
+0

이것은 정확히 내가 찾고있는 것입니다. 고맙습니다! – Groupal

2

당신은 항상 같은를 keyDown 이벤트를 소비하려고 할 수있는 사항은 다음과 같습니다

private void Window_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.Key == Key.P && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) 
     { 
      e.Handled = true; 
     } 
    } 
+1

그것은 트랩 PreviewKeyDown이 아니라에서 KeyDown을해야 할 수도 있습니다 만, 두 사람 중 하나가 트릭을해야합니다. – Andy

관련 문제