绑定在VM WPF中按下任何键的命令

时间:2016-07-18 09:33:10

标签: c# wpf mvvm command key-bindings

我试图将按下的任何键盘键绑定到ViewModel中的命令。

我知道我可以使用以下方法绑定特定密钥:

<Window.InputBindings>
    <KeyBinding Command="{Binding ChangeIdCommand}" Key="B"/>
</Window.InputBindings>

我可以将所有按键绑定到ChangeIdCommand,而无需手动输入所有按键吗?

2 个答案:

答案 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>
相关问题