title: wpf MVVM ObservableCollection
body: <p>My model has a couple properties one is a string and the other is an observablecolletion.  When the model is created it fires off a backgroundworker thread to basically poll a .dll for data.  Based on the data it receives it will either set the string and/or add and item to observable collection.  My string property seems to fire its Onproperty change just fine and the view updates.  However, my observable Collection throws a cross thread exception.  I have tried moving code where i set the ObesrvableCollection to the worker.ReportProgress and get the same error.  I have moved the logic into the view model and still get the same threading error.  I'm unsure why my string property works for one.  I have read about Dispatcher.Invoke, but i'm pretty sure that my model should not be aware of this.  Can anyone explain the correct way to go about this please.</p>
  
  <p>Just fyi - my view is not tied directly to my model.  I have a property for my model in my viewModel and the model gets passed through constructor injection.  Just want to put that out there before anyone thinks my model is talking directly to the the view.</p>