我目前在使用 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));
}
有什么想法、建议吗?或者这完全是错误的方法?