저는 프리즘에 응용 프로그램을 쓰고 있습니다. 사용자 정의 컨트롤이 있고 두 개의 <ContentControl>
컨트롤이 있습니다. 이것들은 둘 다 그들에게 배정 된 지역을 가지고 있습니다. 사용자 컨트롤이 ShowDialog()
을 사용하여 표시되는 Window
에서 호스팅되고 있습니다.
저는 뷰 검색을 사용하여 영역에 내 뷰 중 하나를 추가하고 다른 뷰는 영역에 뷰를 주입하려고합니다. 보기 검색이 정상적으로 작동합니다. 내가보기를 주입하려고 다른 지역을 참조 할 때 나는 예외를 얻을 :RegionManager에서 지역을 찾을 수 없습니다 (PRISM 사용)
KeyNotFoundException
지역 관리자는 MyRegion 지역을 포함하지 않습니다.
RegionManagers 영역을 볼 때보기를 삽입하려고 시도하는 영역이나 존재하지 않는 영역이 표시 검색을 사용하고 있습니다.
내가 쉘과 다른 창에서 중요한 점은 무엇입니까? 하나의 RegionManager 만 있다고 생각했지만 아직 내 뷰 검색이 작동하려면 두 개가 있어야합니다 ...? 아니면 나중에 응용 프로그램 수명주기에서 두 개의 새로운 영역이 만들어지기 때문입니까? 아니면 새로운 지역이 내 MainRegion 안에 있지 않기 때문입니까?
편집 :
지역이 생성되지만이 추가되지 않도록는 RegionManager의 인스턴스를 찾을 수없는 것 같습니다 파고 일부를 수행 한 후. 모든 단서?
또한보기 대신 창에서 RegionManager를 설정할 수도 있습니다. 내 대답보기 : http://stackoverflow.com/questions/1014948/wpf-prism-v2-region-in-a-modal-dialog-add-region-in-code-behind/1019029#1019029 –
@Cameron I 이제 대화 상자에 두 번째로 UpdateRegionsException을 표시하는 문제가 발생했습니다. 모든 단서? –
창을 닫을 때 RegionManager를 설정 해제해야합니다. –