c# - 将按下的任何键绑定(bind)到 VM WPF 中的命令

标签 c# wpf mvvm command key-bindings

我正在尝试将按下的任何键盘键绑定(bind)到 ViewModel 中的命令。

我知道我可以绑定(bind)一个特定的键,使用:

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

我可以将所有按键绑定(bind)到 ChangeIdCommand 而无需手动键入它们吗?

最佳答案

在你的窗口定义之后试试这个:

<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>

关于c# - 将按下的任何键绑定(bind)到 VM WPF 中的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38433234/

相关文章:

c# - 位图图像的“每样本位数”、“每像素样本数”和“每像素字节数”之间有什么区别?

c# - 如何在 XML 中保存 WPF 用户设置?

c# - 更新 ObservableCollection 时 UI 卡住

c# - MVVM 中的自定义控件

c# - Resharper 不会自动转换为可序列化类中的自动属性 ​​- 应该吗?

c# - 如何在 .Net 4.0 中将 DLR 与 MEF 一起使用?

c# - 重新加载 ItemsSource 时如何在 ListBox 中保留选择

WPF:菜单项仅绑定(bind)一次命令参数

C#/WPF : Binding to an element outside of the visual/logical tree

c# - 从主窗口访问用户控件中的属性 (WPF/MVVM)