이것은 MVVM에서의 첫 번째 시도입니다. 내 응용 프로그램의 핵심은 느슨하게 Josh Smith의 msdn 문서를 기반으로합니다. 그리고 mvvm light 프레임 워크도 사용하고 있습니다.wpf mvvm 명령을 사용하여보기 모델간에 매개 변수 전달하기
저는 명령 목록 영역과 사용자 정의 컨트롤/뷰를 탭 항목으로 표시하는 작업 영역을 포함하는 주 창이 있습니다. 각 사용자 정의 컨트롤에는 해당 뷰 모델이 있습니다. 메인 윈도우는 또한 내 명령 목록을 포함하는 뷰 모델을 가지고 있으며, 작업 공간 뷰 모델은 기본 작업 공간 뷰 모델을 가지고 있습니다.
내 기본보기에는 선택한 항목을 하나씩 가질 수있는 MappingSet의 마스터 DataGrid가 있습니다. 명령은 선택한 항목을 기반으로 MappingSet 상세 정보를 처리하는보기로 새로운 tabitem을 실행합니다. View/ViewModel은 사용 된 명령에 따라 기존 데이터가없는 새로운 MappingSet을 생성하는 tabitem 또는 편집을 위해 선택된 항목의 세부 사항을 포함하는 tabitem 또는 선택한 항목을 상세하게 포함하는 tabitem을 반환해야합니다. 새로운 MappingSet의베이스
씬을 설정했는데, 내가 해결할 수 없었던 것은 위에서 언급 한 세 가지 상태 중 하나에서 내 viewmodel을 인스턴스화하기 위해 선택된 MappingSet 객체의 식별자와 같은 매개 변수를 전달하는 명령 종속적 인 방법입니까? 예를 들어 mvvmlight 메신저가이 작업에 적합할까요?
내 솔루션은 메신저를 결합하여 명령을 보유한 mainWindow View 모델에 데이터를 제공 한 다음 명령으로 실행 된 ViewModel에 매개 변수로 전달합니다. 그래서 Steve와 Mike의 답변이 합쳐졌습니다. –