在第二个窗口的区域中视图没有明显变化

时间:2019-08-17 10:46:51

标签: c# wpf prism

我有一个使用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}" />

以我的经验,这应该足够工作,但它不会在对话框窗口中显示新视图。

有什么想法吗?

0 个答案:

没有答案