我OnNavigatedTo在INavigationAware界面中的方法有点问题.
当我显示我的视图时RegionManager.RequestNavigate(myRegionName, myViewName),调用
该OnNavigationTo方法.
但是当我使用时RegionManager.RegisterViewWithRegion(myRegionName, typeof(myView))
我无法得到这个场景,之后,我调用
RegionManager.RequestNavigate(myRegionName, myViewName2)了我的第二个视图,我正在调用第一个视图的OnNavigatedFrom方法.
我的问题是:
为什么OnNavigatedTo方法没有调用,当我使用时,如何显示关于视图的注意事项RegisterViewWithRegion?
小智 2
使用区域管理器注册将显示向其注册的第一个视图。它永远不会调用 OnNavigedTo。基本上,要让它执行您想做的事情,您需要“导航”到您的第一个视图,而不调用 OnNavigedFrom 。去做这个:
// Register all your views into the region
// The first View that is registered is automatically activated
regionManager.Regions["myRegionName"].Add(myView);
regionManager.Regions["myRegionName"].Add(myView2);
// Deactivate the View so it doesn't show in the UI
regionManager.Regions["myRegionName"].Deactivate(regionManager.Regions["myRegionName"].ActiveViews.First());
// Now navigate to your first screen
regionManager.RequestNavigate("myRegionName", "myView");
Run Code Online (Sandbox Code Playgroud)
OnNavigedTo 应调用一次,而 OnNavieratedFrom 仅应在请求导航到另一个视图后调用。