我尝试向MessageBus注册一个observable,它重放新订阅时产生的最后一个值
var currentViewObs = currentViewGallery.ObservableForProperty(g => g.SelectedIndex)
.Value().Select(CurrentViewObsSelector).Replay(1);
currentViewObs.Connect();
MessageBus.Current.RegisterMessageSource(currentViewObs, MessageBusContracts.CurrentView);
这不起作用,因为observable被包含在ScheduledSubject中,吞噬了重放。还有另一种方法吗?
答案 0 :(得分:1)
在这种情况下,您可能希望使用自己的MessageBus - 实现IMessageBus
(可能只需复制粘贴来自here的代码并进行编辑),然后将其分配给MessageBus.Current