title: CommandManager.InvalidateRequerySuggested does not cause a requery on CanExecute in MVVM-Light
body: <p>I am using MVVM-Light RelayCommand</p>
  
  <pre><code>private ICommand myRevertCmd;
  public ICommand Revert
      {
          get
          {
              if (myRevertCmd == null)
              {
                  myRevertCmd = new RelayCommand(RevertExecute, CanRevertExecute);
              }
  
              return myRevertCmd;
          }
      }
  
      private void RevertExecute()
      {
          searchType = SearchType.Revert;
          SearchStart();
      }
  
      private bool CanRevertExecute()
      {
          return isRevertEnabled;
      }
  </code></pre>
  
  <p>I have some code that changes the value of isRevertEnabled but the linked button does not change. After some searching I found that you can use to force the re-evaluation of the button states</p>
  
  <pre><code>// force the GUI to re-evaluate the state of the buttons
  CommandManager.InvalidateRequerySuggested();
  </code></pre>
  
  <p>But this doesn't work. Does any one have any suggestions?</p>