2013-07-31 35 views
3

我正在嘗試使用Visual Studio 2012 Express for Desktop在WPF(媒體播放器)中放置一個小應用程序,並且想要使用空格鍵暫停。不幸的是,空格鍵和回車鍵似乎都有一個默認行爲(在它們執行我爲它們編寫的任何命令之前),它們將重新執行或重新引發窗口中最近的事件(按鈕點擊,按鍵等)。默認輸入和空間鍵行爲wpf應用程序

我試圖重寫的onkeydown,的onkeyup,OnPreviewKeyDown和OnPreviewKeyUp在每一個組合,但沒有壓倒一切的量消除了這種行爲。我也發現,在我編寫的其他WPF應用程序中,甚至在幾個月前放在一起的Windows Forms應用程序中,情況也是如此。這是Visual Studio構建的所有應用程序的默認方面嗎?更重要的是,有沒有辦法擺脫它?

回答

2

如果覆蓋OnPreviewKeyDown你可以添加你想要的邏輯,然後設置e.Handledtrue,這將阻止事件冒泡並導致您所看到的行爲。

private void Window_PreviewKeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Key == Key.Enter || e.Key == Key.Space) 
    { 
     //Your Logic 
     e.Handled = true; 
    } 
} 
+0

工程就像一個魅力。非常感謝你的幫助。 – user2639158

相關問題