대규모 WPF 응용 프로그램을 구축 중이며 이것이 MVVM 패턴을 사용하여 프로그램을 구성하는 올바른 방법인지 알고 싶습니다.WPF : MVVM에서 뷰 모델을 구성하는 방법은 무엇입니까?
이 프로그램은 트리의 해당 지역에있는 사람들의 일반적인 인구에 관한 정보의 데이터베이스를 보유하고 있습니다. 이 트리 및/또는 사용자 목록은 모든 뷰 모델에서 공유되어 인구 통계를 다양한 차트에 표시합니다. 이 다양한 차트는 다른 탭의보기에 표시됩니다.
현재 사람의 정보를 포함하는 정적 트리가 있고 각 xaml 페이지는 기본 창의 탭에 해당합니다. 각 탭은 자체 뷰 모델에 바인딩되지만 해당 뷰 모델은 mainviewmodel을 상속하므로 mainviewmodel의 정보를 모든 뷰 모델에서 공유 할 수 있습니다.
예 :
MainViewModel.cs - (Contains the tree, list<people>, and other variables)
Tab1ViewModel.cs - (Inherits MainViewModel)
Tab2ViewModel.cs - (Inherits MainViewModel and maybe Tab1ViewModel)
Tab3...etc
MainWindow.xaml - Datacontext = MainViewModel
Tab1View.xaml - Datacontext = Tab1ViewModel
Tab2View.xaml - Datacontext = Tab2ViewModel
Tab3...etc
이는 MVVM 패턴을 설정하는 적절한 방법이 있나요? 다른 뷰에서 정적 데이터를 공유하는 더 좋고 간단한 방법을 모르겠습니다.
보기 모델은보기를 따라야합니다. 그래서 무엇이 필요합니다. 나머지는 의견입니다. –
감사합니다. 나는 마지막 프로젝트처럼 다른 "신의 물건"을 가지고 있을지, 아니면이 경우에 "하나님의 전모"를 피하고 싶습니다. – user2525395
일반 OO 모델링 및 디자인보기와 다르지 않습니다. 수퍼맨 클래스는 피해야합니다. –