2011-08-12 5 views
0

두 개의 사용자 지정 컨트롤이 있습니다. 첫 번째 것은 텍스트 상자와 팝업/드롭 다운으로 구성됩니다. 다른 하나는 확장기와 확장기 내부의 일부 내용으로 구성됩니다.WPF : 포커스가없는 사용자 지정 컨트롤 작업에서 KeyBinding을 만드는 방법

대부분의 경우, 두 번째 컨트롤이 첫 번째 팝업의 팝업 안에 표시됩니다.

두 번째 컨트롤에는 확장기를 전환하는 단축키가 있어야합니다.

포커스가 첫 번째 컨트롤의 텍스트 상자 안에있는 경우에도 작동하는 방식으로 두 번째 컨트롤에서 키 바인딩을 만들 수 있습니까?

+0

나는 속임수를 쓸 수 없다고 생각합니다. 가장 쉬운 방법은 속성을 만들고 속성을 Expander.IsExpanded 속성에 바인딩 한 다음 'Command'에서 속성을 변경하는 것입니다. 그러나 당신의'Command'는 첫 번째 컨트롤 (또는 그 텍스트 상자)과'keybind '되어야합니다. – stukselbax

답변

0

포커스가 항상 KeyBindings에 필수적이라고 생각하지 않습니다 ... Expander 컨트롤에 대한 KeyBinding의 CommandTarget을 설정하려고 했습니까? 다음과 같은

뭔가 ...

<KeyBinding Key="O" Modifiers="Control" 
      Command="localns:ApplicationWindow.Open" 
      CommandTarget="{x:Static localns:MyWindow.CustomControlInstance.Expander}" /> 

이 도움이되는지 알려주세요.