title: WPF binding update notification for nested property when parent property changes
body: <p>I have a ViewModel with a complex property type and want to bind my view to a nested property of this object.</p>
  
  <p>My ViewModel is implementing <code>INotifyPropertyChanged</code> (or do be extact <code>BaseViewModel</code> is implementing it). The class of the parent property is not implementing <code>INotifyPropertyChanged</code>.</p>
  
  <p>The class Car is not implementing <code>INotifyPropertyChanged</code>. But I'm not changing the property <code>Manufacturer</code>, I change the <code>MyCarProperty</code> property, and so I expect that the <code>OnNotifyPropertyChanged</code> event will trigger the value update?</p>
  
  <p>When I'm updating the value of the parent property, the nested property is not updating. Can you tell me how can I implement this functionality?</p>
  
  <p>ViewModel</p>
  
  <pre><code>public class ViewModel : BaseViewModel
  {
      private Car _myCarProperty;
  
      public Car MyCarProperty
      {
          get { return _myCarProperty; }
          set
          {
              if (value == _myCarProperty) return;
  
              _myCarProperty = value;
              OnPropertyChanged();
          }
      }
  }
  </code></pre>
  
  <p>Binding in the View</p>
  
  <pre><code>&lt;TextBlock Text="{Binding Path=MyCarProperty.Manufacturer}" /&gt;
  </code></pre>
  
  <p>When I change the value of <code>MyCarProperty</code> the View does not update.</p>
  
  <p>Thanks for any help!</p>
  
  <p>Edit: OnPropertyChanged() implementation</p>
  
  <pre><code>#region INotifyPropertyChanged
  
  public event PropertyChangedEventHandler PropertyChanged;
  
  [NotifyPropertyChangedInvocator]
  protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
  {
      PropertyChangedEventHandler handler = PropertyChanged;
      if (handler != null)
      {
          handler(this, new PropertyChangedEventArgs(propertyName));
      }
  }
  
  #endregion INotifyPropertyChanged
  </code></pre>