바운드 데이터 소스를 기반으로 KeyBinding을 동적으로 정의 할 수 있습니까? 그리드가있는 화면이 있으며 사용자가 다양한 레이아웃을 저장할 수 있습니다. 나는 현재 ViewModel을 통해 레이아웃 이름에 그리드 컨텍스트 메뉴를 바인딩하여 메뉴를 통해 레이아웃을 전환 할 수 있습니다.WPF에서 동적으로 KeyBinding 추가
그러나 각 레이아웃을 바로 가기 키와 연결하고 싶습니다. 바로 가기 키가 사용자에 의해 정의 되었기 때문에 XAML 창에 여러 개의 요소 (<KeyBinding>
)를 추가 할 수는 없습니다. 또 다른 문제는 바인딩이 명령 매개 변수로 레이아웃의 이름을 제공해야한다는 것입니다.
동적 소스에서 일련의 <KeyBinding>
요소를 동적으로 만드는 방법이 있습니까?
<UserControl.InputBindings>
<KeyBinding Key="F7" Command="{Binding MyCommand}" CommandParameter="My Layout Name"/>
<KeyBinding Key="F8" Command="{Binding MyCommand}" CommandParameter="My Other Layout Name"/>
</UserControl.InputBindings>
당신은 복잡한 guesteres (Ctrl + Alt + _Blah 등)을 처리하기 위해 같은 구현을 사용하여 멀리 얻을 수 있습니다, 참조하십시오 : http://stackoverflow.com/questions/3625859/can-i-create-a-keybinding-for-a-sequence-of-keys-in-wpf –