Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 覆盖Listbox中的默认键绑定_C#_Wpf - Fatal编程技术网

C# 覆盖Listbox中的默认键绑定

C# 覆盖Listbox中的默认键绑定,c#,wpf,C#,Wpf,我目前在wpf c#中有一个列表框,并向主窗口的keydown事件处理程序添加了一些键绑定。它是空格键和向上/向下键的事件处理程序。但是,当我的列表框有焦点时,这些绑定不会启动。如何对此控件禁用这些默认键绑定(无需输入e.handle=true,因此整个击键都被禁用)并运行自己的代码?默认键绑定不直接使用事件,而是使用命令。您可以做的是定义命令并将事件附加到命令 <Window.Resources> <CommandBinding x:Key="NewBinding" C

我目前在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>

如果你是新手,试着了解一些概况,你将很难在活动中做到这一点