我在一个视图模型第一种方法,即 :棱镜从区域
1)利用Prism删除视图模型注册我的ViewModels在一个容器(在这种情况下的统一)。
2)我为每个vm提供一个DataTemplate
(UserControl)。
3)我使用在Container注册的ViewModel名称进行导航。
_regionManager.RequestNavigate(regionName, viewModelName, navigationCallBack);
这工作得很好,但是当我试图从该区域中删除 “查看”,我得到以下异常:
The region does not contain the specified view. Parameter name: view
我试图删除:
var region = _regionManager.Regions[requests[i].RegionName];
var view = region.Views.Single(v => v.GetType().Name == requests[i].ViewName);
region.Remove(view);
ViewModel在“视图”集合中找到。任何想法什么是错的,以及如何解决这个问题?
http://compositewpf.codeplex.com/discussions/396304 我的视图模型被打上IRegionMemberLifetime.KeepAlive 并返回假的,我不知道这是什么意思是棱镜删除视图时但因为我现在不需要它,所以我只是将它删除了。 –