Hi,
Firstly I know that there are many question and solutions to correct thread marshalling from threads other than background threads. All the questions and solutions I have found have focused on scenarios where the list or business object itself raises an event that the Windows form can subscribe to and then correctly marshall the update to the main UI thread.
In my case the list of business objects is being updated by a background thread in a seperate layer . I want this list bound to a control on the main thread. Do I really need to expose an event to the UI from the business object list so that the update can be marshalled correctly?. Can I not quietly update the business object list and have these updates propagated to the UI , without somehow having to expose a list changed event to the UI?
EDIT :
My problem is essentially this :The INotifyProperty changed is fired after a property has been changed. A control bound to an object implementing this interface will attempt to update, if the thread causing the event to fire is not the UI thread, we have a problem. So we need to notify the UI thread that we want to update so that update can be handled in a thread safe manner , this means that the background thread updating objects can not simply go about its business, it has to ask permission to update the objects or ask the UI to make the changes to the object on its behalf. This is what I mean by the UI being pulled into handle object updates.