我有一个使用v7.0.0396的Prism应用程序,最近我添加了第二个窗口,当用户需要登录时会打开。第二个窗口保存在单独的模块中。窗口打开后,它将加载到“登录”视图中,如果用户需要创建帐户,则单击“创建帐户”按钮,该按钮将请求导航到该窗口中的“创建帐户”视图。>
但是,目前,我可以加载它来加载“登录”视图,但是它不能正确导航到“创建帐户”视图。我已经获得了每个视图的视图模型,并具有INavigationAware界面,可以看到从导航到正常运行的情况,但是窗口中的视图没有明显变化。 我首先注意到,即使模块已加载,“ AuthenticateRegion”区域也未添加到regionmanager的区域列表中。因此,在Module.cs文件中,我像这样添加区域:
var region = new SingleActiveRegion {RegionManager = _regionManager};
_regionManager.Regions.Add(RegionNames.AuthenticateRegion, region);
然后在下面将视图注册到该区域:
_regionManager.RegisterViewWithRegion(RegionNames.AuthenticateRegion, typeof(SignIn));
_regionManager.RegisterViewWithRegion(RegionNames.AuthenticateRegion, typeof(CreateAccount));
在“ SignInViewModel”中,我具有用于导航到“ CreateAccount”视图并使用“ RequestNavigate”功能的命令:
_regionManager.RequestNavigate(RegionNames.AuthenticateRegion, typeof(CreateAccount).FullName);
在AuthenticateWindow.xaml文件中,我具有用于视图的内容控件:
<ContentControl prism:RegionManager.RegionName="{x:Static inf:RegionNames.AuthenticateRegion}" />
以我的经验,这应该足够工作,但它不会在对话框窗口中显示新视图。
有什么想法吗?