The interface is ICommandas follows:
public interface ICommand
{
bool CanExecute(object parameter);
void Execute(object parameter);
event EventHandler CanExecuteChanged;
}
CanExecuteChanged , , CanExecute / WPF. , ICommand, , , GUI ( WPF), , CanExecute.
Josh Smith RelayCommand CommandManager WPF CanExecuteChanged:
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
, WPF CommandManager - , : KeyUpEvent, MouseUpEvent .., ", - ", RequerySuggested. , RelayCommand, CanExecute , CommandManager , - ( ). 50 , , , 50 . , . , CanExecute , , , . : API CanExecute.
CommandManager.RequerySuggested, ICommand.CanExecuteChanged, RelayCommand, CanExecuteChanged , Prism DelegateCommand, CommandManager, CanExecuteChanged, , , , PropertyChanged, CanExecuteChanged .
@Will , . RelayCommand, , 80% . , RelayCommand Prism DelegateCommand CanExecuteChanged .