我试图将按下的任何键盘键绑定到ViewModel
中的命令。
我知道我可以使用以下方法绑定特定密钥:
<Window.InputBindings>
<KeyBinding Command="{Binding ChangeIdCommand}" Key="B"/>
</Window.InputBindings>
我可以将所有按键绑定到ChangeIdCommand
,而无需手动输入所有按键吗?
答案 0 :(得分:4)
在窗口定义后尝试此操作:
<Window x:Class="wpfApplication.MainWindow"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" ...>
<i:Interaction.Triggers>
<i:EventTrigger EventName="KeyDown">
<i:InvokeCommandAction Command="{Binding ChangeIdCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
答案 1 :(得分:-1)
找到答案:
<Interactivity:Interaction.Triggers>
<Interactivity:EventTrigger EventName="PreviewKeyDown" >
<command:EventToCommand Command="{Binding ChangeIdCommand}" PassEventArgsToCommand="True" />
</Interactivity:EventTrigger>
</Interactivity:Interaction.Triggers>