После прочтения вашего ответа на мой комментарий (извините за задержку, см. Мой комментарий) я могу подумать о двух способах его решения.
Во-первых, попросить подписчика подписчика на IObservable
, который переносится (т.е. подписывается на) еще не созданный источник IObservable
.Таким образом, подписчик может подписаться немедленно, но значения не начнут поступать, пока источник не будет создан.
Другой вариант - создать IObservable
версию EventAggregator
со вкусом, которая поставляетсяс Prism (2.2, я еще не проверил 4).EventAggregator
действует как система событий вещания, в которой любой фрагмент кода может запросить Event
, на который можно подписаться или опубликовать.В вашем случае событие будет реализовано ISubject
(то есть, IObservable
и IObserver
).