2012-02-14 3 views
1

В моей инфраструктуре я опубликовать событиеPrism CompositePresentationEvent срабатывает дважды

this.eventAggregator.GetEvent<ReportAddedEvent>().Publish(report); 

отчет является объектом

В мой контроллер я подписаться на это событие

this.eventAggregator.GetEvent<ReportAddedEvent>().Subscribe(this.OnReportAdded); 

Моя проблема заключается в том, что событие срабатывает дважды. Другого места во всем коде, где публикуется событие, нет другого места, поэтому я уверен, что событие не будет запущено где-то еще, и я вижу, что он срабатывает только один раз.

У любого есть предложение или есть решение проблемы или известно, где проблема.

+2

Возможно, код для подписки на мероприятие называется два раза. Вы должны это проверить – Jehof

+2

Сохраненный мой день. Я назову своего первого ребенка Иегофа. Большое спасибо – klashagelqvist

ответ

4

Я думаю, что проблема заключается в том, что код

this.eventAggregator.GetEvent<ReportAddedEvent>().Subscribe(this.OnReportAdded); 

подписаться на ReportAddedEvent выполняется два раза.

Вы должны проверить (используя отладчик и точку останова на линии), если он выполняется более одного раза.

+0

Это случилось со мной, потому что я дважды позвонил в разные ViewModels экземпляр ViewModel, который я подписывал на событие. Спасибо Jehof! –

Смежные вопросы