问题描述
我们在WPF应用中使用Prism 7.2.0.1441-ci。我们有一个问题是INavigationAware 导航到视图时不会调用方法。我们使用以下代码进行导航。 登录视图已注册。 Loginviewmodel实现了INavigationAware
_regionManager.RegisterViewWithRegion(RegionNames.TabRegion,typeof(Login));
_regionManager.RequestNavigate(RegionNames.TabRegion,ViewNames.Login,parameters);
MainWindow.xaml
<DockPanel>
<!-- <Frame x:Name="_mainFrame" NavigationUIVisibility="Hidden" /> -->
<ContentControl prism:RegionManager.RegionName="{x:Static core:RegionNames.TabRegion}" />
</DockPanel>
此机制确实在应用程序的另一部分中起作用,该特定位在启动代码中,并从MainWindowviewmodel构造函数中调用。
有什么想法吗?
谢谢
解决方法
此机制确实在应用程序的另一部分中起作用,该特定位在启动代码中,并从MainWindowViewModel构造函数中调用。
您不能从shell视图模型的构造函数中导航,因为区域尚不存在。
相反,请从OnInitialized
进行第一次导航(或让用户单击一个按钮)。