title: A MVVM pitfall using Master-Detail scenario
body: <p>Either I do not see the solution or I found a pitfall in using MVVM.</p>
  
  <p>I have this sample Master-Detail:</p>
  
  <pre><code>class Customer
  {
      int CustomerID {get;set}
      string Name {get;set}
      ObservableCollection&lt;Order&gt; Orders {get;set}
  }
  
  class Order
  {
      int OrderID {get;set}
      int Quantity {get;set}
      double Discount {get;set}
  }
  </code></pre>
  
  <p>Lets assume in my CustomerOrdersViewModel my ObservableCollection Customers is bound to the View via ...="{Binding Customers}" and when the customer is changed from the user the relating Orders are shown in the DataGrid via ItemsSource="{Binding SelectedItem.Orders, ElementName=comboboxCustomer}".</p>
  
  <p><strong>This is possible with MVVM:</strong></p>
  
  <p>I can add a new Customer by simply (for simplicity's sake) calling <code>Customers.Add(new Customer(){...});</code>.</p>
  
  <p>After the adding I do this: <code>this.RaisePropertyChanged("Customers");</code>.  This will update the view and immediately show the Customer in the Customer-Combobox.</p>
  
  <p><strong>Now comes the impossible part with MVVM.</strong></p>
  
  <p>I can add a new Order by <code>SelectedCustomer.Orders.Add(New Order(){...});</code></p>
  
  <p>BUT I <strong>cannot</strong> raise a CollectionChanged/PropertyChanged event like before with the Customers now on the Orders because the Orders Property is not bound to the View via public accessor.</p>
  
  <p>Even if I would expose Orders bindable property to the view, the view itself cares for the Master-Detail switching not the ViewModel...</p>
  
  <p><strong>QUESTION</strong></p>
  
  <p>How is it possible to make Master-Detail work with Add/Del objects in Details-List and immediate update on the View?</p>