2011-06-18 77 views
4

我創建了一個WPF應用程序,如果用戶按下ctl + alt + s,我的WPF應用程序文本框需要專注。關注wpf窗口上的快捷鍵

例如:如果您按ctl + w,自動詞web將變得焦點。

在此先感謝。

回答

2

您可以訂閱PreviewKeyDown事件:

private void Window_PreviewKeyDown(object sender, KeyEventArgs e) 
{ 
    if (Keyboard.Modifiers == (ModifierKeys.Control | ModifierKeys.Alt) && 
     e.Key == Key.S) 
    { 
     textBox1.Focus(); 
    } 
} 
+0

這將是更好地使用PreviewKeyDown實現這一目標。否則,窗口將成爲最後一個獲取事件的控件,如果其中一個子控件處理事件,它甚至不會看到它。 – Andy

+0

@安迪 - 我同意,這是更好的。謝謝。更新。 –

+1

恭喜!在48天內10k。 –

3

使用InputBindings,定義KeyBinding並創建一個command這不聚焦。

<Window.InputBindings> 
    <KeyBinding Command="{Binding MyFocusCommand}" Key="S" Modifiers="Control+Alt"/> 
    </Window.InputBindings>