如何清除CommandManager注册的命令绑定?

时间:2009-08-20 16:22:41

标签: c# wpf commandbinding

我有这个使用CommandBinding的控件(WPF),它会像这样注册:

CommandBinding binding = new CommandBinding(ApplicationCommands.Delete, OnDeleteExecuted, CanExecuteDelete);
CommandManager.RegisterClassCommandBinding(typeof(MyObject), binding);

所以,当我卸载控件时,我想清除这个绑定。我该怎么做呢?

谢谢!

2 个答案:

答案 0 :(得分:4)

如果命令的范围是具体的UIElement,则最好使用:

  • 注册CommandBinding:myUIelement.CommandBindings.Add(myCommand);
  • 取消注册CommandBinding:myUIelement.CommandBindings.Remove(myCommand);
  • 取消注册所有CommandBindings:myUIelement.CommandBindings.Clear();

我希望这会有所帮助。

答案 1 :(得分:-2)