3

我目前在使用 WPF InputBindings 时遇到问题。我们已经定义了应用程序级键盘绑定,但是在某些地方我希望通过将控件的绑定设置为NotACommand.

这似乎不起作用(尽管用另一个命令覆盖控制级别绑定似乎工作正常)。这是一些示例代码:

应用程序.xaml.cs

public void OnStartup()
{
    var window = Application.Current.MainWindow.
    window.InputBindings.Add(new KeyBinding(CommandA, Key.A, Modifiers.Control));
    window.InputBindings.Add(new KeyBinding(CommandB, Key.Delete, Modifiers.None));
}

SomeControl.xaml.cs

public void OverrideBindings()
{
    // this invokes LocalCommand instead of CommandA
    this.InputBindings.Add(new KeyBinding(LocalCommand, Key.A, Modifiers.Control));
    // this still invokes CommandB
    this.InputBindings.Add(new KeyBinding(ApplicationCommands.NotACommand, Key.Delete, Modifiers.None));
}

有什么想法、建议吗?或者这完全是错误的方法?

4

0 回答 0