Ich habe eine CanExecute-Methode für den DelegateCommand geschrieben. CanExecute wird nicht neu ausgewertet wie andere Befehle, die von einer CommandBase erben, die wie folgt aussieht.
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);
}
Kann ich den Prism DelegateCommand so arbeiten lassen, dass CanExecute bei Bedarf automatisch neu bewertet wird, oder sollte ich RaiseCanExecuteChanged() bei Bedarf manuell aufrufen?