I’m a huge fan of the Microsoft Prism framework. In fact, I’ve blogged before about using its DelegateCommand to minimize your ViewModel code.

Lately, though, I noticed that once its CanExecute delegate returns false, your IsEnabled binding will not update, even when the property it’s bound to changes.


Try It Out: Live Example

Note: Silverlight 4+ Plug-in Required
Get Microsoft Silverlight

 

As you can see, the button entitled “Prism Command” starts out disabled and never enables, even though its IsEnabled property is bound to the same property of the ViewModel as the other buttons (see below).

 

<Button Content=...