Как грамотно совместить Dependency Injection с передачей параметров между окнами приложения WPF?
Допустим, есть приложение WPF, состоящее из двух форм: MainWindow и ChildWindow. Для каждой формы есть своя ViewModel. На главной форме выводится список неких объектов-моделей, и есть кнопка вызова ChildWindow. При нажатии на кнопку надо взять из списка некий параметр и передать его в ChildWindow, а в ее конструкторе создать ViewModel и передать этот параметр ей:
public ChildWindow(int CustId) {
InitializeComponent();
ChildViewModel model = new ChildViewModel(CustId);
DataContext = model;
}
ChildViewModel для своей работы требует некий сервис DataService. Без DI я порождал его напрямую в конструкторе модели.
Теперь я хочу ослабить связанность кода, и делать это через IoC-контейнер (Unity, Autofac, Windsor - без разницы). Внедрить зависимость я предполагал через конструктор, так как это наиболее понятный способ узнать все зависимости класса сразу:
private IDataService ds;
public ChildViewModel (IDataService service) {
ds = service;
}
А если еще и ChildViewModel порождать через контейнер, то вообще будет супер.
Но в этом случае я теряю возможность передать через конструктор свой параметр CustId. Property Injection и Method Injection мне не нравятся. Что-то я заплутал в трех соснах, как же мне совместить передачу параметров с внедрением зависимостей?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Проект сделан по трехуровневой архитектуреНужно, что бы Entity Framework создал базу данных по классу контекста и внедрить через Dependency Injection этот...
Пишу программу на C#Суть программы в скачивании определенных компонентов, таких как например:
И так проблема заключается в том что у меня есть UserControl на котором есть кнопка, у юзер контрола фон - transparent у кнопки тоже, но при добавлении...