如何清除CommandManager注册的Command绑定?

Car*_*rlo 4 c# wpf commandbinding

我有使用CommandBinding的控件(WPF),它的注册方式如下:

CommandBinding binding = new CommandBinding(ApplicationCommands.Delete, OnDeleteExecuted, CanExecuteDelete);
CommandManager.RegisterClassCommandBinding(typeof(MyObject), binding);
Run Code Online (Sandbox Code Playgroud)

因此,当我卸载控件时,我想清除此绑定。我将如何处理?

谢谢!

jua*_*ana 5

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

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

我希望这有帮助。