I think that there is a specific answer to this.
If I have a command binding
private bool CanExecute(Object args){
// Should this just be null checks?
// Should it also contain logic?
// example:
return this.SelectedObject != null;
// or
return this.SelectedObject != null && this.SelectedObject.Status == 1;
}
private void Executed(Object args){
//Or should logic be reserved for the Executed command
if(this.SelectedObject.Status == 1)
//Do stuff
else
//Don't do stuff
}
It seems redundant to have a can execute method if we do additional data validation within the executed method.