OK. 따라서 제이슨 돌린 저 (Jason Dolinger)의 베스트 introduction to MVVM 비디오를 본 후 (WPF를 시작하는 사람이라면 누구에게나 추천합니다. 흥미로운 내용으로 한 시간이 넘으면 앞으로 1 시간이면 좋은 수익을 올릴 것이라고 약속합니다.) 이제는 구현하게되어 기쁩니다. 내 프로젝트에서.MVVM에서 다른보기를 가져 오는 방법
확인. 여기 내 MainWindow 클래스, 내 프로젝트의 주 MDI 창 역할을하는 XAML 창이 있습니다. 내 윈도우에 대한 ViewModel을 추가하고 이벤트 핸들러 등을 추가하는 대신 ViewModel 멤버에 바인딩하도록 메뉴 항목을 요청합니다.
지금까지는 그렇게 좋았습니다. 이제 사용자가 메뉴 항목을 클릭하는 것을 처리 할 명령에 실제 코드를 작성해야합니다. 관련 명령을 입력하자마자 내 명령이나 ViewModel에 실제 View 클래스 나 다른 뷰/뷰 모델에 대한 참조가 없다는 것을 알았습니다.
제 질문은, 명령 실행에 대한 응답으로 다른보기를로드하려면 어떻게합니까? ViewModel을 모두 통과해야합니까, 아니면 명령 객체가 뷰에 직접 액세스해야합니까? 여기의 표준 연습은 무엇입니까?
주 창의 datacontext를 변경해야합니다. MainWindow.xaml에서 모든 뷰와 뷰 모델을 추가 한 다음 모든 뷰에서 기본 창 개체를 갖게됩니다. 따라서 한 뷰에서 다른 뷰로 이동할 때마다 MainWindow 객체의 데이터 접미어를 새 뷰로 변경합니다. –
@FaisalHafeez : 말도 안되는 것 같습니다. – dotNET