This question提供了一种干净的方法,用于将窗口级别的键绑定到XAML中的ViewModel命令。这非常棒,但它不允许自定义所使用的密钥。是否可以将“key”值绑定到viewmodel,如果是,csharp中的“key”是什么类型的值?
<Window.InputBindings>
<KeyBinding Key="{Binding RefreshKey}"
Command="{Binding RefreshCommand}" />
或者是否可以在代码中添加窗口级键绑定?同样的问题有一个解决方案,可以将它放在代码隐藏中,但如果可能的话,我宁愿将代码保留在ViewModel中。
答案 0 :(得分:1)
http://msdn.microsoft.com/en-us/library/system.windows.input.keygesture.aspx
对于KeyGesture XAML用法,通常在XAML中设置的属性 在手势代表标准键的情况下是手势 和修饰键
... 请注意,XAML用法不直接声明a 元件。由于KeyGesture,因此无法使用该对象元素 不公开公共默认构造函数。相反,XAML的用法 使用typeconverter行为来声明整个KeyGesture内联 作为Gesture属性值。
我认为你可以返回一个KeyGesture对象来绑定一个Key属性,或者你总是可以返回一个组合字符串,它会自动转换
答案 1 :(得分:0)