2011-05-09 6 views
0

MSDN의 MVVM 고객 예제를 기반으로 한 프로젝트를 작성했습니다. 하위 뷰 모델에서 새 작업 영역을 추가하려면 어떻게해야합니까? 이것이 작업 공간 컬렉션을 정적으로 만드는 아이디어가 패턴에 어긋나는 것처럼 보이지 않는다.자식 뷰 모델에서 새 작업 영역 열기

allcustomers보기의 요소를 두 번 클릭하면 새로운 고객보기를 효과적으로 추가하려고합니다. 사전에

감사

+0

작업 영역이란 무엇입니까? – Will

+0

뷰 모델 - 상위 뷰 모델에는 이러한 뷰 모델의 관찰 가능한 컬렉션이 있습니다 (msdn 예제에서는 작업 영역이라고합니다). 이러한보기 모델은 다음 탭 컨트롤 – jbd

답변

0

하나 "간단한"솔루션은 아이 뷰 모델의 생성자에 ParentViewModel를 전달하는 것입니다. 그런 다음 ParentViewModel의 Add 로직을 자식 코드에서 원하는 위치에서 간단하게 호출 할 수 있습니다.

+0

에 표시됩니다.이 시도하고 확실히 작동하지만, 나는 이것을 좋아하지 않았습니다. 결국 자식보기 모델에 이벤트를 추가하기로 결정했습니다. 상위 뷰 모델은이를 수신 한 다음 자체 논리로 응답합니다. 나는 아이 뷰 모델이 그들의 부모에 대해 아무 것도 알아야한다고 생각하지 않는다. 조언을 주셔서 감사합니다. – jbd

0

이 게시물은 오래된 게시물이지만 기록을 위해 Workspaces를 추가하고 활성화하는 메소드를 제공하는 정적 WorkspaceManager 클래스를 추가했습니다. WorkspaceManager는 Workspaces 컬렉션을 유지 관리합니다. 모든 클래스는 정적 메서드를 호출 할 수 있으므로 주 창이나 부모는 작업 영역 컬렉션을 유지 관리 할 필요가 없으며 작업 영역 기능을 실제로 구현하는 방법을 알 수 있습니다.