I just implemented a call of Execute for a Command without calling CanExecute first.
From debugging I would tell that CanExecute is called though; however, I'm not sure if this is coincidence.
I'd like to know if I can rely on the fact that CanExecute is implicitly called whenever I raise the Execute by hand, or if I should ensure calling CanExecute myself?