我使用PRISM创建了一个应用程序及其导航功能。此应用程序中有一个主要区域Context
包含当前登录的用户。在此区域中,我使用RegionManager.RequestNavigate
动态加载视图。视图包含具有单独视图模型的其他视图。一切都很好,除了主视图存在于所有应用程序时间,当我从视图中退出并返回视图时它是相同的,即它不会再次创建。我做了什么:在主视图模型中,我实现了INavigationAware
,IsNavigationTarget
设置为false。每次都会创建视图,但是有关“可以创建嵌套区域的原因已经注册”的例外情况。然后在主视图模型中,我将IRegionMemberLifetime
设置为KeepAlive
为false。一切都很好但是当从视图导航并导航到它时,主要区域的Context
会丢失它的内容。
我该如何解决?
由于
更新
我准备了工作样本PrismNavigationSample.zip,以便完全理解我的问题。
在两个项目中尝试此操作:转到第一个视图,更改滑块值,返回并再次转到第一个视图。另请参阅上面窗口中的Context值。
答案 0 :(得分:1)
我在Codeplex找到了答案。有关详细信息,请参阅RegionContext lost when removing a view from a region。