Search code examples
wpfmvvmcommandcanexecute

CanExecute part of a command is not called in all cases. what does determine it?


In my WPF application using MVVM I noticed that in some cases the CanExecute part of a Command is not called, so I was wondering what decides when this (kind of) method is called?


Solution

  • CanExecute is called by a control when it is told by raising the CanExecuteChanged event, how exactly controls handle Commands is up to them (they could for example also call it again when the CommandParameter changes), but if you want them to reevaluate CanExecute you should fire the event manually.