я использую Prism в первом подходе ViewModel, т.е .:Призма удалить ViewModel из области
1) зарегистрировать свои ViewModels в контейнере (единство в данном случае).
2) Я поставляю DataTemplate
(UserControl) для каждого vm.
3) Я перемещаюсь с использованием имени ViewModel, которое я зарегистрировал в Контейнере.
_regionManager.RequestNavigate(regionName, viewModelName, navigationCallBack);
Это прекрасно работает, но при попытке удалить "View" из этого региона, я получаю следующее исключение:
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 находится в коллекции «Views». Любая идея, что не так и как обойти это?
http://compositewpf.codeplex.com/discussions/396304 Мой ViewModel был отмечен IRegionMemberLifetime.KeepAlive и возвращается ложь, я не знаю, что это значит для Prism при удалении зрения но поскольку я не нуждался в этом, я просто удалил его. –