DI, WPF, Разрешение зависимостей

Подскажите пожалуйста, есть следующая архитектура

IRepository(DBContext context)
IService (IRepository repository)

Дальше WPF

IModel(IService service);
IViewModel(IModel model);

В App.cs, в методе OnStartup, конфигурируется приложение с помощью IoC контейнера.

MainView содержит много окон. Если передавать MainView(IViewModel childParent), то все зависимости разрешаются сразу на момент создания MainView но что, если таких childParent много и сразу все конфигурировать не нужно, а например, только по нажатию кнопок в MainView.

Какие есть подходы?


MainWindow - обычная форма для открытия дочерних окон

public MainWindow()
{
   InitializeComponent();
   viewModel = new MainWindowViewModel();
   DataContext = viewModel;
}

внутри MainWindowViewModel должны открывать дочерние окна со своими IViewModel.

например new View(IViewModel viewModel).Show() IoC контейнер сконфигурирован в OnStartup Application Как передать в MainWindowViewModel IViewModel.

Если через конструктор, то 1) таких интерфейсов будет много 2) даже если окна не нужны их, ViewModels будут сконфигурированы. Это избыточно


Ответы (0 шт):