Я привык к разработке приложений WPF, устанавливая события в xaml и ссылаясь на код в MainWindow.Это позволяет легко включать и отключать события по мере необходимости.Недавно я изучал шаблон MVVM и разработал приложение, которое использует команды для обработки событий.Проблема в том, что я понятия не имею, как отключить команду события.
Мой конкретный сценарий таков: мне нужно отключить некоторые события фильтрации, когда данные загружаются или обновляются, чтобы они не запускались непрерывно... Данные уже связаны, поэтому не должно происходить никаких событий фильтрации.
В прошлом я делал это примерно так:
listView.SelectionChangedEvent -= new SelectionChangedEvent(event_method);
//Perform actions...
listView.SelectionChangedEvent += new SelectionChangedEvent(event_method);
Я понимаю, что с MVVM яможет использовать RelayCommand или DelegateCommand и передать предикат, который должен отключить команду на основе логического значения.Тогда мне просто нужно вызвать RaiseCanExecuteCommandChanged (), чтобы обновить команду после того, как я изменил логическое значение.Тем не менее, все мои тесты, чтобы сделать эту работу просто, не работают ...
Может кто-нибудь опубликовать краткий пример того, как обрабатывать то, что я описал в MVVM?Все примеры, которые я могу найти, относятся к включению / отключению элементов управления, таких как Button ... Я не смог найти ничего, чтобы фактически отключить выполнение Команды ...