title: CanExecuteChanged event of ICommand
body: <p><code>Icommand</code> contains <strong>two methods</strong> and <strong>one event.</strong></p>
  
  <p>What the two methods do is clear, but <strong>I can’t understand what the event does</strong> that is provided in <code>ICommand</code>.</p>
  
  <p>When is the <code>CanExecuteChanged</code> event raised?</p>
  
  <p>The below explanation is on <strong>MSDN</strong> but I <strong>can’t understand it.</strong> </p>
  
  <blockquote>
    <p><strong>CanExecuteChanged</strong> is raised if the <strong>command manager</strong> that
    centralizes the commanding operations detects a change in the command
    source that might invalidate a command that has been raised but not
    yet executed by the command binding.</p>
  </blockquote>
  
  <p>Can you please explain this in simple terms?</p>
  
  <p>Thanks......</p>