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 будут сконфигурированы. Это избыточно
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP