我对使用Prism的WPF很新,对MVVM模式来说还是新手。 现在我的应用程序分为3部分:
我的Shell需要区域“MainRegion”和“SideBarRegion”。 SideBarRegion有一个简单的视图,有2个按钮,每个按钮触发一个Command。 我使用命令加载“MainRegion”中的视图。
现在我的CoreModule.cs类包含一个加载视图的方法:
private void LoadView(string regionName, object newView)
{
IRegion region = _RegionManager.Regions[regionName];
var oldViews = region.Views;
foreach (UserControl oldView in oldViews)
{
region.Remove(oldView);
}
region.Add(newView);
region.Activate(newView);
}
但是我不能在我的ViewModel中使用这个方法,因为我需要RegionManager。
所以我用Google搜索了一下,找到了使用Event Aggregator解决此问题的方法。 我现在不确定这个解决方案是否合适,希望有人能说出来。
即使这是一个很好的解决方案,我也不知道如何使用Prism的EventAggregator。 我找不到使用EventAggregator在视图之间导航的任何好帮助。
任何人都可以帮助我吗?我该如何解决我的问题?
问候