Использование 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 не осознавал, что пришло время запрашивать команды
- У вас есть проблема с фокусом на вашем окне / элементе управления
Вам нужно показать больше кода, чтобы он дал нам более широкую картину того, что вы пытаетесь сделать.