使用INavigationAware和Prism正确处理视图和视图模型

时间:2012-09-25 21:56:08

标签: c# wpf prism

我使用Prism IRegionManager在屏幕之间导航:

_regionManager.RequestNavigate( RegionNames.MainContentRegion, uri );

我有一个人员编辑视图,我以上述方式导航到这里,每当选择要编辑的新人时,我总是希望重新加载此屏幕。为此,我在INavigationAware的IsNavigationTarget方法中返回false。我也在使用mvvm,这个Person Edit View有一个PersonEditViewModel。

我担心的是应用程序从不处理以前的PersonEditViewModel。我知道它没有自动处理,因为IsNavigationTarget是为所有以前创建的PersonEditViewModel调用的。我把断点告诉了。

处理视图和视图模型的好方法是什么?因为我知道我总是会在IsNavigationTarget中返回false,我宁愿处置它们并释放一些空间。我想也许我可以在OnNavigatedFrom方法中做点什么?...

感谢。

1 个答案:

答案 0 :(得分:1)

您需要查看IRegionMemberLifetimeRegionMemberLifetimeBehaviour