WPF中的自定义热键
Posted
技术标签:
【中文标题】WPF中的自定义热键【英文标题】:Custom hotkey in WPF 【发布时间】:2020-10-12 03:36:12 【问题描述】:我在我的 WPF 应用程序中实现了一些热键。
XAML:
<KeyBinding
Command="Binding SomeCommand"
Modifiers="Control"
Key="K"/>
现在我想要一个可以设置自定义热键的功能,以便用户可以通过按钮或类似方式单独设置键。
有谁知道如何在 wpf 中做到这一点?
【问题讨论】:
见Programmatically create a key binding for textbox input 【参考方案1】:您需要使用视图模型将 Key 与属性绑定
//ViewModel
string SomeCommnadShortcut get; set
<!-- xaml -->
<KeyBinding
Command="Binding SomeCommand"
Modifiers="Control"
Key=Binding SomeCommnadShortcut/>
然后编写验证字符串的逻辑,更改这些属性并发送更新事件。
【讨论】:
【参考方案2】:尝试在 ViewModel 中绑定 Key
<KeyBinding Command="Binding SomeCommand" Modifiers="Control" Key="Binding SomeHotKey"/>
然后在你的 ViewModel.cs 中:
private Key _SomeHotKey = System.Windows.Input.Key.K; //Default Hotkey
public Key SomeHotKey
get return _SomeHotKey;
set _SomeHotKey = value;
现在,您可以使用 SomeHotKey 属性自定义热键。
【讨论】:
以上是关于WPF中的自定义热键的主要内容,如果未能解决你的问题,请参考以下文章