Say I have two usercontrols, UC1 and UC2. A user selects something in UC1, which takes some time so the process is threaded off. UC2 needs to update its view and do some work of its own on another thread when UC1 finishes. But UC2 is dependent on the output of the UC1 background thread so it has to wait until that thread is finished before it begins.
UC1 needs to update an ObservableCollection to update its view when its background thread finishes, as does UC1, asynchronously.
Whats the best way to do this? I have tried just threading them off and firing a message from UC1's thread, but then UC2 cant modify its ObservableCollection because it is not on the right thread- it thinks its on UC1's thread.
Do I need to marshall the message event from UC1 to UC2, is this safe?
How do people normally handle this?