【发布时间】:2011-10-20 08:25:18
【问题描述】:
我使用 PRISM 及其导航功能创建了一个应用程序。此应用程序中有一个主要区域,Context 包含当前登录的用户。在这个区域中,我使用RegionManager.RequestNavigate 动态加载视图。视图包含具有单独视图模型的其他视图。一切都很好,除了主视图在整个应用程序时间都存在,当我从视图中出去并返回视图时,它和原来一样,即它不会被再次创建。我所做的:在主视图模型中,我实现了INavigationAware,并将IsNavigationTarget 设置为false。每次都会创建视图,但是关于“可能创建嵌套区域,因为它已经注册”的异常。然后在主视图模型中,我实现了IRegionMemberLifetime,并将KeepAlive 设置为false。一切都很好,但是当从视图导航并再次导航到它时,主要区域的 Context 会丢失它的内容。
我该如何解决?
谢谢
更新:
我准备了工作示例PrismNavigationSample.zip 以充分理解我的问题。
在两个项目中都试试这个:转到第一个视图,更改滑块值,返回并再次转到第一个视图。另请参阅上面窗口中的上下文值。
【问题讨论】: