title: Updating of BindingSource in WinForms does not update Datasource Collection
body: <p>I want to display a custom collection in a <code>DataGridView</code> in a Windows Forms app.  This custom collection implements <code>ICollection</code>, and <code>IEnumerable</code>.  I have set up a <code>BindingSource</code>, using the collection as the .DataSource property.  The <code>DataGridView</code> is set to use my <code>BindingSource</code> as it's DataSource.  When I add a new item to the collection using the <code>BindingSource.Add()</code> method, the <code>DataGridView</code> updates correctly with the new item.  The <code>BindingSource</code> DataSource, on the other hand, does not:</p>
  
  <pre><code>MyCustomCollection myCollection = new MyCustomCollection();
  
  myCollection.Add(myCustomObject1);
  myCollection.Add(myCustomObject2);
  
  myBindingSource.DataSource(myCollection);
  myBindingSource.Add(myCustomObject3);
  </code></pre>
  
  <p>In the above code, myBindingSource's internal List contains the right number of records (3), and the <code>DataGridView</code> also contains three records, but myCollection contains only two records.  I know that changing the underlying myCollection will NOT update the <code>BindingSource</code> or the <code>DataGridView</code>, as it is not a <code>BindingList&lt;T&gt;</code>, but I was under the impression that updating a <code>BindingSource</code> directly would ensure that myCollection was updated at the same time.</p>
  
  <p>Is there a way to use a collection that isn't a <code>BindingList&lt;T&gt;</code> and have it updated when interacting with the <code>BindingSource</code> directly?</p>
  
  <p><strong>Update</strong>:  One way I've gotten the data updated across all the parts (Collection, BindingSource, DataGridView) is as follows:</p>
  
  <pre><code>myCollection.Add(myCustomObject3);
  myBindingSource.DataSource = null;
  myBindingSource.DataSource = myCollection;
  </code></pre>
  
  <p>I'm pretty sure there's a better way to attack this problem, but this is the only method that's generated the results I was expecting.       </p>