Я написал метод CanExecute для DelegateCommand.CanExecute не переоценивается как другие команды, которые наследуются от CommandBase, которая выглядит следующим образом.
public abstract class CommandBase : ICommand
{
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
public void RaiseCanExecuteChanged()
{
CommandManager.InvalidateRequerySuggested();
}
public virtual bool CanExecute(object parameter)
{
return true;
}
public abstract void Execute(object parameter);
}
Можно ли заставить Prism DelegateCommand работать следующим образом, поэтому CanExecute автоматически переоценивается при необходимости илия должен вручную вызвать RaiseCanExecuteChanged () при необходимости?