После долгих обсуждений был выбран EventAggregator.Совместное использование с другими в случае, если они находятся в той же ситуации, и наш мыслительный процесс мог бы помочь им:
(Постановка задачи: см. Мой предыдущий комментарий)
Основное представление (ViewModel) с регионамидля хранения представлений из других модулей, который также формирует представление TabItem, отвечает за очистку себя и дочерних представлений, которые он содержит.Следовательно, при событии закрытия TabItem это главное представление (ViewModel) должно информировать свои дочерние представления о постепенном отключении.
EventAggregator и .Net Eventing были тщательно изучены с разных сторон в качестве потенциального кандидата для отправки сообщения о завершении работы.
Поскольку в среде с разделением Prism основное представление технически не должно знать о своих дочерних представлениях, и наоборот, был выбран EventAggregator.
Одна проблема с агрегатором событий заключается в том, что он публикует события в целомприложения, но наше требование состояло в том, чтобы отфильтровать события, поступающие из закрытого tabitemview.EventAggregator был спроектирован так, чтобы использовать фильтр для проверки того, поступает ли запрос на отключение от одного и того же tabitemview (мы использовали регион-менеджер области действия для каждого tabItem, а этот менеджер области-области был использован в качестве фильтра) только тогда, когда он выполняет действие завершения работы.Это гарантирует, что отключение на одной вкладке не закроет дочерние представления на других вкладках с одинаковым именем региона.
Спасибо, RDV