我在实现RoutedUICommand的RoutedCommand类中处理命令。这将帮助我通过检查命令的CanExecute来阻止或覆盖命令,并在需要时执行。我可以覆盖EditingCommand、ApplicationCommand等。其中一个我甚至不能处理的命令是Ctr +空格键。是MediaCommand还是我找不到的其他类型?我猜它是在别的地方处理的,这就是为什么我无法控制它的原因。
发布于 2010-04-09 23:44:59
您可以创建自己的自定义命令,也可以简单地为预定义命令添加新手势,例如:
public Window1()
{
InitializeComponent();
ApplicationCommands.Find.InputGestures.Add(new KeyGesture(Key.Space, ModifierKeys.Control));
CommandBinding commandBinding = new CommandBinding(ApplicationCommands.Find, myCommandHandler);
this.CommandBindings.Add(commandBinding);
}
private void myCommandHandler(object sender, ExecutedRoutedEventArgs args)
{
MessageBox.Show("Command invoked!");
}发布于 2009-11-26 07:31:04
我没有太多使用WPF命令的经验,但尝试为Ctrl和空格键创建自己的自定义命令。
请参阅本教程:http://www.switchonthecode.com/tutorials/wpf-tutorial-command-bindings-and-custom-commands
https://stackoverflow.com/questions/1800415
复制相似问题