У меня есть приложение WPF, которое имеет MainView.xaml окно, которое загружает многочисленные объекты страницы во время выполнения, загружает их в ViewModels и отображает их динамически в меню .
Моя MainViewModel имеет ObservableCollection из ViewModels , и я связываю их с соответствующими Представлениями в файле MainView.xaml.
Однако, есть ли способ автоматизировать , чтобы мне не приходилось вводить эти записи вручную каждый раз, когда я добавляю страницу?
<Window.Resources>
<DataTemplate DataType="{x:Type vm:PageItemManageCustomersViewModel}">
<v:PageItemManageCustomersView/>
</DataTemplate>
<DataTemplate DataType="{x:Type vm:PageItemManageEmployeesViewModel}">
<v:PageItemManageEmployeesView/>
</DataTemplate>
<DataTemplate DataType="{x:Type vm:PageItemReportsViewModel}">
<v:PageItemReportsView/>
</DataTemplate>
</Window.Resources>
Разве это не то, что " ServiceLocator " или " Container " должен делать, подключая View к ViewModels? Я читал, что вышеприведенное - это общий способ для сопоставления ViewModels и Views в шаблоне MVVM, но для меня это выглядит как bit static . Буду признателен за любые мысли.