недавно я начал работать с Prism в Silverlight. Я хочу использовать EventAggregator для подписки и публикации событий между двумя моделями представления. Как я видел в некоторых руководствах, ctor ViewModel должен принимать IEventAggregator в качестве параметра. Я не могу узнать, как это сделать, поэтому мой View всегда хочет инициализировать ViewModel ctor без параметров.
Мой ViewModel ctor:
MyViewModel(IEventAggregator eventAggregator)
{
// get the event....
}
My View:
<UserControl ....>
<UserControl.Resources>
<ViewModels:MyViewModel x:Key="MyViewModel"/>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" DataContext="{Binding Source={StaticResource MyViewModel}}">
....
<Grid/>
</UserControl>
Я могу создать экземпляр ViewModel в ctor View, а затем назначить его его DataContext, но тогда у меня должен быть IEventAggregator в моем View, который я также не могу получить. но это, вероятно, неправильный способ передачи IEventAggregator (или любого другого объекта! - например, IUnityContainer) в ViewModel.
Может кто-нибудь сказать мне, что я делаю не так?