1
我有一個WPF MainWindow並嘗試對某個組合鍵(CTRL + F4)做出反應。我註冊用於測試目的以下方法:僅在首次交互後引發KeyEvents
private void Window_PreviewKeyDown(object sender, KeyEventArgs e)
{
Log.AsInfo("PreviewKeyDown");
}
private void Window_KeyDown(object sender, KeyEventArgs e)
{
Log.AsInfo("KeyDown");
}
private void Window_KeyUp(object sender, KeyEventArgs e)
{
Log.AsInfo("KeyUp");
}
private void Window_PreviewKeyUp(object sender, KeyEventArgs e)
{
Log.AsInfo("PreviewKeyUp");
}
瘋狂的事情是,當我與首次應用程序交互,這些方法只觸發:
它是如何不起作用:
- 我啓動應用程序
- 我在鍵盤上輸入Ctrl + F4
- 沒有任何反應
它是如何工作的:
- 我啓動應用程序
- 我在隨機菜單項,點擊沒有功能
- 我的鍵盤
- 一切正常上輸入CTRL + F4,日誌消息被寫入
任何想法?我甚至無法調試這種情況,因爲沒有一個處理程序方法首先被調用。我甚至在MainWindow構造函數中嘗試了this.Focus()
,但這也沒有幫助。
你可以發佈你的xaml代碼嗎?我測試了一個窗口和一個空格子裏面。我在啓動應用程序之後調用處理程序,而不點擊任何內容。 – 2014-12-01 20:17:36
是的,當然。我不知道發佈較大代碼示例的最佳方式是什麼,但這裏是:[http://pastebin.com/im4vi528](http://pastebin.com/im4vi528)。我留下了一些元素,但它在評論中。 – Ronny93 2014-12-01 20:36:34
可能的重複http://stackoverflow.com/questions/1361350/keyboard-shortcuts-in-wpf – Bijan 2014-12-01 20:47:10