Как очистить привязки команд, зарегистрированные в CommandManager? - PullRequest
4 голосов
/ 20 августа 2009

У меня есть этот элемент управления (WPF), который использует CommandBinding, и он регистрируется следующим образом:

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

Итак, когда я выгружаю элемент управления, я хочу очистить эту привязку. Как бы я поступил об этом?

Спасибо!

Ответы [ 2 ]

4 голосов
/ 14 декабря 2010

Если область действия Команд представляет собой конкретный UIElement, вам лучше использовать:

  • Зарегистрировать привязку команды: myUIelement.CommandBindings.Add (myCommand);
  • Отмена регистрации привязки команд: myUIelement.CommandBindings.Remove (myCommand);
  • Отмена регистрации всех привязок команд: myUIelement.CommandBindings.Clear ();

Надеюсь, это поможет.

0 голосов
/ 20 августа 2009
...