2
我目前在wpf c#中有一個列表框,並在我的主窗口的keydown事件處理程序中添加了一些鍵綁定。它是空格鍵和上/下鍵的事件處理程序。但是,當我的列表框有焦點時,這些綁定不會啓動。如何禁用這些控件的默認鍵控綁定(不輸入e.handle = true,因此整個按鍵被禁用)並運行我自己的代碼?覆蓋列表框中的默認鍵綁定
我目前在wpf c#中有一個列表框,並在我的主窗口的keydown事件處理程序中添加了一些鍵綁定。它是空格鍵和上/下鍵的事件處理程序。但是,當我的列表框有焦點時,這些綁定不會啓動。如何禁用這些控件的默認鍵控綁定(不輸入e.handle = true,因此整個按鍵被禁用)並運行我自己的代碼?覆蓋列表框中的默認鍵綁定
默認的鍵綁定不直接使用事件,而是使用命令。你可以做的是定義命令並將事件附加到它們。
<Window.Resources>
<CommandBinding x:Key="NewBinding" Command="ApplicationCommands.New"
Executed="NewCommand" CanExecute="CanExecuteNew">
</CommandBinding>
</Window.Resources>
<ListBox.CommandBindings>
<StaticResource ResourceKey="NewBinding"></StaticResource>
</ListBox.CommandBindings>
覆蓋默認鍵綁定語法是:
<Window.InputBindings>
<KeyBinding Key="" Modifiers="" Command="" />
</Window.InputBindings>
如果你是新來這個試圖得到一些概述WPF Commanding Overview和Advanced WPF你將不得不很難與事件這樣做。
你說得對,看起來很難... – internetmw 2010-08-03 13:40:52