Скажем, у меня есть два пользовательских элемента управления, UC1 и UC2. Пользователь выбирает что-то в UC1, что занимает некоторое время, поэтому процесс отключается. UC2 должен обновить свое представление и выполнить некоторую работу самостоятельно в другом потоке, когда UC1 завершает работу. Но UC2 зависит от выходных данных фонового потока UC1, поэтому ему нужно дождаться завершения этого потока, прежде чем он начнется.
UC1 необходимо обновить ObservableCollection, чтобы обновить его представление после завершения фонового потока, как это делает UC1, асинхронно.
Какой лучший способ сделать это? Я попытался просто вывести их из потока и запустить сообщение из потока UC1, но тогда UC2 не может изменить свою ObservableCollection, потому что он не в нужном потоке - он считает, что это в потоке UC1.
Нужно ли маршалировать событие сообщения с UC1 на UC2, это безопасно?
Как люди обычно справляются с этим?