TransWikia.com

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

Stack Overflow на русском Asked on December 5, 2020

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

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 будут сконфигурированы. Это избыточно

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP