Occurs when changes occur that affect whether or not the command should execute.
Normally, a command source calls ICommand.CanExecute(object) on the command when this event occurs.
Normally, if the command cannot execute, the command source disables itself.