Команда CanExecute не работает должным образом в представлении WPF ⇐ C#

Место общения программистов C#
Anonymous
Команда CanExecute не работает должным образом в представлении WPF

Сообщение Anonymous »

Сейчас я работаю над экраном WPF для представления, в котором мы столкнулись с необычной проблемой с командами типа Command или Command.
В нашем приложении есть элемент управления, к которому привязана команда . Мы также привязываем к команде метод CanExecute, который должен включать или отключать элемент управления в зависимости от текущих условий. Однако когда мы определяем команду как RelayCommandWpf, функция CanExecute перестает работать корректно — она срабатывает только один раз при инициализации и больше никогда после этого.
Удивительно, но если мы изменим тип команды на RelayCommandWpf, метод CanExecute будет работать так, как ожидалось, а элемент управления будет включаться/отключаться так, как должен.
Мой код в основном определяется следующим образом:
Команда

Код: Выделить всё

public RelayCommandWpf MotorCommand => _motorCommand ??= new RelayCommandWpf(SendMotorConfig, CanSendMotorConfig);
XAML RelayCommandWpf
Кто-нибудь знает, почему RelayCommandWpf или RelayCommandWpf может вызвать CanExecute перестать работать в WPF? Есть ли известная проблема с этими типами или чем-то особенным для целочисленных или двойных команд в WPF?
Будем благодарны за любую помощь или идеи. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/791 ... n-wpf-view

Вернуться в «C#»