WPF中Ctrl+Shift+Zero的键绑定手势无法工作

4

我正在尝试使用WPF 3.5sp1进行Ctrl+Shift+0键位映射,但绑定没有触发。 我使用的XAML代码如下:

<KeyBinding Gesture="Ctrl+Shift+D0" Command="Blah"/>

我也尝试过以下方法:
<KeyBinding Key="D0" Modifiers="Ctrl+Shift" Command="Blah" />

还有许多其他组合键,但都不起作用。"Gesture="Ctrl+D0"" 或 "Ctrl+Shift+OemPlus" 等都能正常工作,因此我认为语法不是问题。我查看了 Key 枚举并尝试查看是否将 "Shift-D0" 重新映射为类似于 "OemParen" 的内容,但没有找到任何线索。

我甚至在我的窗口上放置了 PreviewKeyDown 处理程序,但我从未看到 KeyEvent 其中 Key == D0 且 Keyboard.ModifierKeys == Shift + Ctrl!事实上,当我按住 Ctrl+Shift 时,D0 的按下事件根本不会到达。

public MainWindow()
{
    InitializeComponent();
    this.PreviewKeyDown += MainWindow_PreviewKeyDown;
}

void MainWindow_PreviewKeyDown(object sender, KeyEventArgs e)
{
    if ((Keyboard.Modifiers & ModifierKeys.Shift) != 0)
    {
        Trace.WriteLine("shift is down!");
    }
    Trace.WriteLine(string.Format("key: {0}, system key: {1}, modifiers {2}", e.Key, e.SystemKey, e.KeyStates));
}

1
我发现这不是一个WPF的问题,但问题本身仍然有效,答案似乎并不为人所知。我应该如何更新问题摘要以反映这一点? - Armentage
1个回答

6

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接