Обязательно, когда эти условия выполняются:
- Ваш Observable основан на чем-то, что генерирует обратные вызовы / события, которые еще не гарантированно находятся в главном потоке пользовательского интерфейса (например,
HttpWebRequest
) - Код, который отвечает на поступление этих элементов, должен манипулировать элементами пользовательского интерфейса
- Другой код в цепочке не должен выполняться до завершения предыдущих манипуляций с элементами пользовательского интерфейса.
Если 1 не соответствует истине, то из него уже поступают вещи в потоке пользовательского интерфейса.Если 2 не соответствует действительности, то присутствие в потоке пользовательского интерфейса не имеет значения.Если 3 не соответствует действительности, то код на этапе 2 может BeginInvoke
работать с некоторым пользовательским интерфейсом на самом Dispatcher
.