2009-06-28 6 views
2

Visual Studio와 비슷한 인터페이스를 가진 응용 프로그램이 있는데, 열 수있는 문서 목록이 저장되어 있습니다. 각 문서는 유형이 다를 수 있으며 편집기가 다릅니다.다중 문서 응용 프로그램 용 MVVM 디자인?

또한 일반 저장 MenuItem도 있습니다. 저장 명령은 활성 문서 만 저장하도록하고 싶습니다. 문서 VM을 Save MenuItem에 연결하는 MVVM을 사용하는 표준 패턴이 있습니까?

답변

1

나는 표준적인 방법에 대해 잘 모르지만, 나는 다음과 같은 것을 시도 할 것이다 :

  1. 이 SaveDocument 명령에 대한 스텁이있는 인터페이스를 만듭니다.
  2. 문서의 ViewModel이 해당 인터페이스를 구현하도록하십시오.
  3. 현재 문서 목록에 사용자가 현재 집중하고있는 뷰 모델 문서를 반환하는 속성이있는 기본 앱이 있습니까? 그것을 위해 CurrentDocument를 호출하십시오. WPF 데이터 바인딩은 doc에서 doc로 전환 할 때 이것을 설정합니다.
  4. 저장 명령에서 CurrentDocument 특성을 사용하여 문서를 가져 오십시오. null가 아니고 해당 인터페이스를 구현하는지 확인하십시오. 모든 검사가 통과되면 ViewModel 문서의 SaveDocument 명령을 호출하십시오.
+0

예프. 그것이 내가 응답을 얻지 않았기 때문에 내가 끝내었던 That 's. +1 –

+0

유일한 차이점은 메뉴는 viewmodel에 저장 명령이 있으므로 저장 가능한 문서가 열려 있지 않으면 기본 저장 명령이 사용됩니다 (아무 것도하지 않음). 문서가 변경되면 메뉴 viewmodel 명령을 설정합니다 savable documents 명령 또는 기본값으로 변경하십시오. –