C#을 사용하여 MVVM WPF 응용 프로그램을 디자인하려고하는데 필요한 힌트가 필요하며 필요한 MVVM 모델을 설계하는 데 조언을 받아야합니다. 기술적으로 이것은 사용자가 MapView
컨테이너 내부에 다른 레이어를 오버레이 할 수있게 해주는 맵 기반 애플리케이션입니다. 이 레이어 중 일부는 목적을 나타내는 데 사용되지만 다른 일부는 편집 할 수있는 기능이 있습니다.WPF 및 MVVM 모델 디자인에 대한 힌트가 필요합니다.
내 질문에 모든 오버레이 클래스에 동일한 MVVM 패턴을 만들어야합니까? 이 경우에 나는
- Models
MapModel.ca
BaseMapModel.cs
GraphicsModel.cs
GDBModel.cs
- ViewModels
MapViewModel.cs
BaseMapViewModel.cs
GraphicsViewModel.cs
GDBViewModel.cs
- Views
MapView.cs
BaseMapView.cs
GraphicsView.cs
GDBView.cs
지금 내가 MapViewModel.cs
에 무엇을 가지고지도에 각 뷰를로드 할 수있는 방법; MainWindows.xaml.cs
에서
class MapViewModel
{
private Map map;
public Map Map
{
get { return map; }
set { this.map = value; }
}
public MapViewModel()
{
this.map = new Map();
}
}
내가
<Grid>
<esri:MapView x:Name="MyMapView" Map="{Binding Map}"/>
</Grid>
이 MainWindows.xaml
에
public MainWindow()
{
InitializeComponent();
var viewModel = new MapViewModel();
this.DataContext = viewModel;
}
이 지금 무슨 일이 혼란 나를 내가 MapViewModel.cs
새로운보기를 추가 할 수있는 방법인가?
'MainWindow' 생성자는'ViewModel' 인스턴스를 생성 할 책임이 없습니다. 'MvvmLight' 라이브러리를보고 의존성 삽입과'ViewModelLocator'를 사용할 것을 권한다. – Dai
호기심에서 벗어난 이유는 무엇입니까? –