title: Caliburn.Micro, MVVM pattern: CanExecute command doesn't work
body: <p>This is my View:</p>
  
  <pre><code>&lt;StackPanel Orientation="Horizontal" VerticalAlignment="Top"&gt;
      &lt;Label&gt;Customer name:&lt;/Label&gt;
      &lt;TextBox Text="{Binding Customer.Name, UpdateSourceTrigger=PropertyChanged}" Width="136"/&gt;
      &lt;Button x:Name="UpdateClick"&gt;Update&lt;/Button&gt;
  &lt;/StackPanel&gt;
  </code></pre>
  
  <p>This is my ViewModel:</p>
  
  <pre><code>private Customer customer;
  public Customer Customer
  {
      get { return customer; }
      set { customer = value; NotifyOfPropertyChange(() =&gt; Customer); }
  }
  
  public bool CanUpdateClick 
  { 
      get 
      {
          if (string.IsNullOrEmpty(customer.Name))
          {
              return false;
          }
          return true; 
      } 
  }
  
  public void UpdateClick()
  {
      //...
  }
  </code></pre>
  
  <p>And this is my model:</p>
  
  <pre><code>private string name;
  public string Name
  {
      get { return name; }
      set { name = value; NotifyOfPropertyChange(() =&gt; Name); }
  }
  </code></pre>
  
  <p>So I have UpdateClick method and it works perfectly. I also have CanUpdateClick property, but it doesn't work and I don't know why? Button on the UI should be disabled when the textbox is empty. Please help! </p>