Prism: делиться данными между ViewModels, загруженными в регион?

У меня есть представление, содержащее TabControl, связанное с областью "CustomerRegion".

У меня есть несколько View/ViewModels, которые отмечены как [ViewExport (RegionName = "CustomerRegion" )].

Эти элементы успешно загружаются в TabControl.

Но теперь мне нужны эти TabItems для обмена некоторыми данными в этом TabControl (не может быть глобальным, поскольку одновременно могут быть открыты два или более из них).

Любые идеи о том, как эти TabItems могут обмениваться данными, не выходя из MVVM/MEF?

Ответ 1

Призма имеет концепцию "Region Context", которую вы, возможно, сможете использовать, в зависимости от вашего сценария.

Просмотрите документацию Prism Region и найдите раздел "Совместное использование данных между несколькими регионами" (хотя это название мало вводит в заблуждение...).

Если вы обнаружите, что это не сработает для вас, я бы предложил написать настраиваемое наследуемое вложенное свойство, с которым вы можете привязываться из подзонов и изменять его из родительского представления.