title: Should MVVM events be routed?
body: <p>If I have a hierarchy of view model instances, should I route events?</p>
  
  <p>For example, say we have</p>
  
  <pre><code>class A: INotifyPropertyChanged
  {
      public B Child ...
  }
  </code></pre>
  
  <p>and </p>
  
  <pre><code>class B
  {
      A _parent
  
      void OnPropertyChanged (string propertyName)
      {
          if (PropertyChanged != null) PropertyChanged (this, propertyName);
          ///Should I call _parent.OnPropertyChanged (this, propertyName);?////
       }
  }
  </code></pre>
  
  <p>Should the <code>B</code> call <code>NotifyPropertyChanged</code> in <code>A</code>.</p>
  
  <p>The argument for routing is that it can be awfully convenient. In particular, if instead of one child, A has a collection of B, becoming informed of any change any child of A becomes very difficult. Also, there is a sender first argument, why not use it...
  the argument against is that the parent event can become crowded.</p>
  
  <p>Any opinion?</p>