It looks like you need to call RaiseCanExecuteChanged on the command whenever the corresponding property changes. I think this was previously done by the wpf command manager, but recent changes to the PCL may have made it impossible.
I use MvvmCross, which requires calling a similar method, so in my base view model I have a method that allows me to register a command, so that whenever a property change occurs, I can encode all registered commands and force canececute again. To make your job easier, you can do it this way.
Check out this sample.
Since this seems to be in doubt, here is some code that I tested
using GalaSoft.MvvmLight; using GalaSoft.MvvmLight.Command; using System; namespace TestingApp.ViewModel {
No line
GoCommand.RaiseCanExecuteChanged();
the canececute method is never called after the initial call, but with the line that it is called every time the Increment property changes
source share