У меня есть аналогичный вопрос на этот пост Prism CompositePresentationEvent fires twicePrism EventAggregator подписываться выполнения дважды
Моя проблема заключается в том, что Publish
только стрелять один раз, но код в Subscribe
дважды выполняется.
Вот мой код публикации.
EventAggregator.GetEvent<PubSubEvent<HardwareLoaded>>().Publish(new HardwareLoaded() { HardwareOK = _HardwareOK });
И код подписки.
IEventAggregator.GetEvent<PubSubEvent<HardwareLoaded>>().Subscribe(x =>
{
if (!x.HardwareOK)
{
MessageBox.Show("There was an issue loading hardware. See Log");
}
LoadingVisibility = Visibility.Collapsed;
});
я поставил точку останова как Publish
и Subscribe
и может видеть, что публиковать только срабатывает один раз, но подписываться код пожаров дважды. Это подтверждается сообщением, показывающим дважды. Я запустил поиск любого другого кода публикации и не нашел его.
Любые идеи?
Лямбда, переданная в 'Подписаться', называется один раз, это мы знаем, но, возможно, вызов' Подписка' был сделан дважды? –
Где вы объявили код Subscribe? Может быть, это ваш код, вызывающий его дважды? – Bijington
@Bijington ах, это точка, поэтому он фактически подписывается дважды. У меня будет чек. – Gaz83