В нашем приложении есть элемент управления, к которому привязана команда . Мы также привязываем к команде метод CanExecute, который должен включать или отключать элемент управления в зависимости от текущих условий. Однако когда мы определяем команду как RelayCommandWpf, функция CanExecute перестает работать корректно — она срабатывает только один раз при инициализации и больше никогда после этого.
Удивительно, но если мы изменим тип команды на RelayCommandWpf, метод CanExecute будет работать так, как ожидалось, а элемент управления будет включаться/отключаться так, как должен.
Мой код в основном определяется следующим образом:
Команда
Код: Выделить всё
public RelayCommandWpf MotorCommand => _motorCommand ??= new RelayCommandWpf(SendMotorConfig, CanSendMotorConfig);
Код: Выделить всё
Кто-нибудь знает, почему RelayCommandWpf или RelayCommandWpf может вызвать CanExecute перестать работать в WPF? Есть ли известная проблема с этими типами или чем-то особенным для целочисленных или двойных команд в WPF?
Будем благодарны за любую помощь или идеи. Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/791 ... n-wpf-view