4
我使用Prism 4和Unity對WPF應用程序進行了概念驗證,但遇到了一些基本問題。使用Prism和Unity切換不同模塊中的視圖
在我們的解決方案,我們有以下項目:
-AppName.Desktop
-AppName.Modules.ModuleA
-AppName.Modules.ModuleB
已經跟着一些教程,探索一些例子,在網上搜索,我沒能找到一個合適的答案,一個非常基本的問題;我怎樣才能在不同的DLL的兩個視圖之間切換。
第一視圖(ModuleAView)加載在ModuleA的初始化方法:
public void Initialize()
{
regionManager.RegisterViewWithRegion("MainRegion", typeof(Views.ModuleAView));
}
當我在ModuleAView點擊(或在ModuleAView按鈕)我想切換到ModuleBView。
public bool SomeEventInModuleAView(SomeEventParams e)
{
Uri viewNav = new Uri("ModuleBView", UriKind.Absolute);
regionManager.RequestNavigate(RegionNames.MainRegion, viewNav);
}
顯然這不起作用,因爲ModuleA不知道在哪裏可以找到ModuleBView。我已經閱讀了關於使用pack/application/component等來更改URI,但我似乎無法使其工作。
我的想法是這樣的:
Uri("pack://application:,,,/AppName.Modules.ModuleB;component/Views/ModuleBView.xaml", UriKind.Absolute);
由於來自不同的組件加載的模塊是棱鏡的目的之一,我認爲這是奇怪的是,有沒有在棱鏡任何例子下載展示如何這工作。