title: Notify Property Changed on a Dictionary
body: <p>I have a WPF / XAML form data-bound to a property in a dictionary, similar to this:</p>
  
  <pre><code>&lt;TextBox Text="{Binding Path=Seat[2B].Name}"&gt;
  </code></pre>
  
  <p><code>Seat</code> is exposed as a property <code>IDictionary&lt;String, Reservation&gt;</code> on the airplane object.</p>
  
  <pre><code>class airplane
  {
      private IDictionary&lt;String, Reservation&gt; seats;
      public IDictionary&lt;String, Reservation&gt; Seat
      {
          get { return seats; }
          // set is not allowed
      }
  }
  </code></pre>
  
  <p>From within the code of my Window, the value of seat 2B is sometimes changed, and after that, I want to notify the UI that the property has changed.</p>
  
  <pre><code>class MyWindow : Window
  {
      private void AddReservation_Click(object sender, EventArgs e)
      {
          airplane.Seat["2B"] = new Reservation();
          // I want to override the assignment operator (=)
          // of the Seat-dictionary, so that the airplane will call OnNotifyPropertyChanged.
      }
  }
  </code></pre>
  
  <p>I've looked to see if the Dictionary is <code>IObservable</code>, so that I could observe changes to it, but it doesn't seem to be.</p>
  
  <p>Is there any good way to "catch" changes to the dictionary in the airplane-class so that I can <code>NotifyPropertyChanged</code>.</p>