У меня есть следующая команда, которая работает:
private ICommand _AddNewCommand;
public ICommand AddNewCommand
{
get
{
if (_AddNewCommand == null)
{
_AddNewCommand = new RelayCommand(async () =>
{
await AddNewAsync();
}, AddNewCommand_CanExecute);
}
return _AddNewCommand;
}
}
Связанная с этим кнопка правильно включена / отключена в соответствии с результатом метода AddNewCommand_CanExecute
.
Однако, если я хочу чтобы передать некоторый параметр в мой AddNewAsync()
метод, я делаю это:
_AddNewCommand = new RelayCommand<object>(async obj =>
{
await AddNewAsync(obj);
}, AddNewCommand_CanExecute());
Обратите внимание, что AddNewCommand_CanExecute
необходимо изменить на AddNewCommand_CanExecute()
.
Однако, когда я это делаю, связанная кнопка всегда включена, даже если AddNewCommand_CanExecute()
должен возвращать false (учитывая, что она не изменилась между двумя).
Что здесь происходит?