2016-05-03 6 views
0

Возможно ли иметь 2 или более KeyGestures для одного RoutedUICommand?Несколько ключей для одного RoutedUICommand

Например: Пользователь хочет, чтобы иметь возможность нажать Space или Alt + P для воспроизведения видео.

В настоящее время, если я установил KeyGestures в RoutedUICommand, он будет ожидать, что оба будут нажаты для выполнения.

private static RoutedUICommand _play = new RoutedUICommand("Play", "Play", typeof(Commands), 
    new InputGestureCollection 
     { 
      new KeyGesture(Key.P, ModifierKeys.Alt, "Alt + P"), 
      new KeyGesture(Key.Space, ModifierKeys.None, "Space") 
     }); 

Таким образом, можно установить несколько KeyGestures к одному RoutedUICommand? Если да, то как?

ответ

1

Да, вы можете добавить несколько комбинаций клавиш для той же самой команды, как показано ниже,

<UserControl.InputBindings> 
    <KeyBinding Modifiers="Alt" Key="P" Command="{Binding PlayCommand}" /> 
    <KeyBinding Key="Space" Command="{Binding PlayCommand}" />   
</UserControl.InputBindings> 
+0

Великий. Могу ли я зарегистрировать 'KeyBindings' непосредственно в' RoutedUICommand'? –

+0

Да, я верю. Я еще не пробовал. –

 Смежные вопросы

  • Нет связанных вопросов^_^