сфокусировать окно wpf на клавише быстрого доступа - PullRequest
4 голосов
/ 18 июня 2011

Я создал приложение WPF, в котором, если пользователь нажимает ctl + alt + s, текстовое поле моего приложения WPF должно быть сфокусировано.

Пример: если вы нажмете ctl + w, слово web автоматически сфокусируется.

Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 18 июня 2011

Используйте InputBindings , определите KeyBinding и создайте команду , которая выполняет фокусировку.

  <Window.InputBindings>
    <KeyBinding  Command="{Binding MyFocusCommand}" Key="S" Modifiers="Control+Alt"/>
  </Window.InputBindings>
2 голосов
/ 18 июня 2011

Вы можете подписаться на PreviewKeyDown событие:

private void Window_PreviewKeyDown(object sender, KeyEventArgs e)
{
    if (Keyboard.Modifiers == (ModifierKeys.Control | ModifierKeys.Alt) && 
        e.Key == Key.S)
    { 
        textBox1.Focus();
    }
}
1 голос
/ 18 июня 2011

Вы можете достичь этого, используя низкоуровневую клавиатуру

http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx

...