title: PropertyChanged event not firing
body: <p>I have a question about the <code>PropertyChanged</code> event firing from a base class.  So I have a base class, called <code>MainWindowBase</code> with a property called SelectedItem and a collection called Items, actually derived in a lower base class.  I populate Items, then set SelectedItem from the derived class, which calls the base class setter on SelectedItem.  The <code>SelectedItem.PropertyChanged</code> handler is never called in the derived class.  Why?</p>
  
  <p>class <code>MainWindowViewModel</code>:</p>
  
  <pre><code>class MainWindowViewModel : MainWindowBase&lt;DocumentBase&gt;
  {
      public MainWindowViewModel()
      {
          Items.AddRange(new ObservableCollection&lt;PositionViewModel&gt;()
          {
            new PositionViewModel { Name = "Test Case 1" },
            new PositionViewModel { Name = "Test Case 2" },
            new PositionViewModel { Name = "Test Case 3" }
          });
  
          SelectedItem = Items.FirstOrDefault();
  
          SelectedItem.PropertyChanged += (sender, args) =&gt;
          {
              Debug.WriteLine("SelectedItem changed!");
          };
  
  
          PropertyChanged += MainWindowViewModelPropertyChanged;
  
          SelectedItem = Items[1];
      }
  
      public void MainWindowViewModelPropertyChanged(object sender, PropertyChangedEventArgs e)
      {
          ;
      }
  }
  </code></pre>
  
  <p>class <code>MainWindowBase</code>:</p>
  
  <pre><code>public class MainWindowBase&lt;TDocument&gt; : Conductor&lt;TDocument&gt;.Collection.OneActive
      where TDocument : DocumentBase, new()
  {
  
      private TDocument selectedItem;
  
      public TDocument SelectedItem
      {
          get
          {
              return selectedItem;
          }
  
          set
          {
              selectedItem = value;
              NotifyOfPropertyChange(() =&gt; SelectedItem);
          }
      }
  }
  </code></pre>
  
  <p><code>PositionViewModel</code> class:</p>
  
  <pre><code>public class PositionViewModel : DocumentBase
  {
      public string Name { get; set; }
  }
  </code></pre>
  
  <p><code>DocumentBase</code> is simply derived from <code>Screen</code>.</p>
  
  <p>Thanks for looking at this, and let me know in the comments if you need any more information.  Basically <code>Debug.WriteLine()</code> is never called, but <code>MainWindowViewModelPropertyChanged()</code> is.  I would like to just handle a property change for a specific property (<code>SelectedItem</code>) in this case.</p>