title: MVVM object fire property changed event when a field is changed
body: <p>So I have an MVVM binding setup for an object.  The object is of a class like the following:</p>
  
  <pre><code>public class SomeClass
  {
    public int Field1 {get; set:}
    public List&lt;MyClass&gt; CollectionOfObjects {get; set;}
    public string Description {get; set;}
  }
  </code></pre>
  
  <p>My MVVM class implements INotifyPropertyChanged ...</p>
  
  <pre><code>private SomeClass _viewableObject;
  public SomeClass ViewableObject
  {
      get
       {
         return _viewableObject;
       }
      set
       {
          _viewableObject = value;
          OnPropertyChanged("ViewableObject");
       }
  
  
  } 
  </code></pre>
  
  <p>This works great in the case where I'm defining a new object.  For instance:</p>
  
  <pre><code> ViewableObject = new SomeClass();
  </code></pre>
  
  <p>But I'm binding UI components to fields of <code>SomeClass</code>.  <code>Field1</code> and <code>Description</code>  get pushed to a textboxes and say <code>CollectionOfObjects</code> gets pushed to a <code>DataGrid</code>.</p>
  
  <pre><code>&lt;Datagrid .... ItemsSource = "{Binding ViewableObject.CollectionOfObjects}" &gt;&lt;/DataGrid&gt;
  </code></pre>
  
  <p>So in the event that I update just <code>ViewableObject.CollectionOfObjects</code> and not the whole <code>ViewableObject</code> how can I get the UI to update to reflect the modification?  Is there a cleaner way to do that rather than splitting up each field of <code>SomeClass</code> in the MVVM? </p>