2011-09-07 2 views
2

내가 작업하고있는 프로젝트는 데스크톱 기반 WPF 응용 프로그램입니다. MVVM 패턴을 구현했습니다. 또한 Unity IoC와 Repository Pattern을 사용하고 있습니다.NavigationService를 사용하여 객체를 ViewModels에 전달할 수 있습니까?

마스터 세부 정보 유형 시나리오에 문제가 있습니다. 세부 정보 페이지로 이동합니다 (ViewModel에서 NavigationService를 노출하기 위해 IoC를 사용했습니다).하지만 MVVM 패턴을 손상시키지 않으면 서 EmployeeDetails ViewModel에서 employeeID를 얻는 방법을 알지 못합니다. 나는 코드 뒤에 아무 것도 쓰고 싶지 않다.

모든 포인터는 매우 유용합니다.

감사합니다.

답변

0

일반적으로 EmployeeMasterViewModelCurrentEmployee 속성을 표시하면됩니다. 이 속성은 마스터 목록에서 현재 선택된 항목에 바인딩 된 데이터입니다.
그런 다음 세부 정보 페이지의 컨트롤을 CurrentEmployee의 속성에 바인딩합니다.

+0

마스터 및 세부 viewmodel 모두 클래스에 중첩 된 경우 가능할 수 있습니다. 그러나 다른 ViewModels를 갖는 두 개의 서로 다른 뷰가 있는데, NavigationService를 사용하여 한 뷰에서 다른 뷰로 이동합니다. –

+0

현재 선택한 직원을 전달하려면 [이 과부하 탐색] (http://msdn.microsoft.com/en-us/library/ms591042.aspx)을 사용할 수 있습니까? –

+0

아니요. ViewModel의 View 클래스를 참조 할 수 없기 때문에 걱정과 MVVM 패턴의 분리를 유지하기 만합니다. 나는 uri를 사용하여 페이지로 이동할 수 있습니다. –

관련 문제