프리즘 프레임 워크를 사용하는 응용 프로그램을 개발 중입니다. 나는 또한 탐색을위한 프리즘을 등록했다Wpf 프리즘 탐색 후 ViewModel 배출
ViewModelLocationProvider.Register<LoginControl, LoginViewModel>();
ViewModelLocationProvider.Register<MainWindow, MainWindowViewModel>();
ViewModelLocationProvider.Register<CountryList, CountryViewModel>();
: 나는 다음과 같이 부트 스트 래퍼에 viewmodels을 등록
builder.RegisterTypeForNavigation<LoginControl>();
builder.RegisterTypeForNavigation<MainWindow>();
builder.RegisterTypeForNavigation<CountryList>();
완벽한 작동하지만 각 뷰 모델에 대한 생성자가 한 번 처음 동안 호출 발견 ViewModel로 이동합니다. 그런 다음 같은 객체의 뷰 모델이 제공됩니다. 그러나 탐색 후 ViewModel도 삭제해야하며 매번 새로운 객체가 제공되기를 바랍니다.
builder.RegisterType<ModuleLoader>().InstancePerDependency()
그러나 나는 이것을 달성하기 위해 ViewModelLocationProvider
의 모든 방법을 발견 해달라고 :
나는 autofac 일부이 비슷한을 달성하고자합니다. 이것을 달성 할 수있는 방법이 있습니까?
업데이트
그때 하나 개의보기에서 다른 탐색 할 때보기도 배치되지 않은 것으로 나타났다. 동일한 View (Region의 Usercontrol)로 이동 한 다음 ViewModel의 동일한 인스턴스에 대한 실제 원인 인 동일한 객체가 제공됩니다. Prism에서 탐색 후보기를 처분 할 방법이 있습니까?)
[RegionMemberLifetime (KeepAlive를 = 거짓)]를 내 UserControl을에
IRegionMemberLifetime
인터페이스를 구현하고 건물 아래에 추가하여 문제를 해결 – pix