Использование RaiseCanExecuteChanged

Я делаю два метода, как это:

private void Next (строковый аргумент) {Current = Clients [Clients.IndexOf (Current) + 1]; ((DelegateCommand) NextCommand).RaiseCanExecuteChanged (); }

private void Previous (строковый аргумент) {Current = Clients [Clients.IndexOf (Current) - 1]; ((DelegateCommand) PreviousCommand).RaiseCanExecuteChanged ();

}

и привязать к XAML:

Все работает нормально. И следующая кнопка становится неактивной / серой, когда она попадает в последний пост. Проблема в том, что он (кнопка "Далее") остается неактивным, когда я нажимаю кнопку "Назад". Кнопка Далее становится неактивной все время. У меня вопрос, как я могу снова активировать кнопку "Далее"? Спасибо за помощь.

1 ответ

Я предполагаю, что вы говорите о приложении WPF.

Есть несколько причин, по которым ваша кнопка может стать / оставаться неактивной:

  • Ваша реализация CanExecute неисправна и возвращает false, даже если она должна возвращать true
  • Вы не реализовали CanExecute или неправильно подключили его
  • CommandManager не осознавал, что пришло время запрашивать команды
  • У вас есть проблема с фокусом на вашем окне / элементе управления

Вам нужно показать больше кода, чтобы он дал нам более широкую картину того, что вы пытаетесь сделать.

Другие вопросы по тегам