我需要爲除一個或兩個例外以外的所有UI元素禁用鍵盤輸入。全局禁用WPF窗口的鍵盤
事情是,我需要箭頭鍵來控制,所以我在MainWindow級別添加了一個KeyEventHandler,並添加了另一個UI元素,如Tab Items,Textbox,以便他們在獲得焦點時忽略輸入。 我結束了一個漂亮的buggie控件。我仍然可以瀏覽通過標籤項目,控制事件有時不會觸發。我需要一個更可靠的方式來做到這一點..
任何意見,讚賞!
我需要爲除一個或兩個例外以外的所有UI元素禁用鍵盤輸入。全局禁用WPF窗口的鍵盤
事情是,我需要箭頭鍵來控制,所以我在MainWindow級別添加了一個KeyEventHandler,並添加了另一個UI元素,如Tab Items,Textbox,以便他們在獲得焦點時忽略輸入。 我結束了一個漂亮的buggie控件。我仍然可以瀏覽通過標籤項目,控制事件有時不會觸發。我需要一個更可靠的方式來做到這一點..
任何意見,讚賞!
默認情況下,方向鍵不被視爲輸入鍵。因此他們仍然滾動窗口上的控件。要更改此行爲,您可以訂閱PreviewKeyDown
事件(http://msdn.microsoft.com/en-us/library/system.windows.uielement.previewkeydown.aspx)並設置PreviewKeyDownEventArgs.IsInputKey = true;
,請參閱http://msdn.microsoft.com/en-us/library/system.windows.forms.previewkeydowneventargs.isinputkey.aspx。然後箭頭鍵也會調用其他按鍵事件處理程序,如KeyDown
。
您可以嘗試捕獲每個KeyDown事件並設置e.Handled = true;在每個用戶控件你想忽略鍵盤。 – Sonhja
這就是我所嘗試的,但這導致了車的行爲 –