WPF 中的自定义热键

Custom hotkey in WPF

我在 WPF 应用程序中实现了一些热键。

XAML:

    <KeyBinding
        Command="{Binding SomeCommand}"
        Modifiers="Control"
        Key="K"/>

现在我想要一个可以设置自定义热键的功能,以便用户可以通过按钮或类似的东西单独设置键。

有谁知道如何在 wpf 中完成此操作?

您需要使用

在视图模型中将 Key 与 属性 绑定
//ViewModel
string SomeCommnadShortcut {get; set} 

<!-- xaml -->
    <KeyBinding
            Command="{Binding SomeCommand}"
            Modifiers="Control"
            Key={Binding SomeCommnadShortcut}/>

然后编写验证字符串的逻辑,更改这些 属性 并发送更新事件。

尝试在您的 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 自定义热键 属性。