Код: Выделить всё
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
string connectionString = @"Server=(localdb)\MSSQLLocalDB;Database=RouteMiningDB;Trusted_Connection=True;";
RouteMiningDAL.RouteMiningDataContext db = new RouteMiningDAL.RouteMiningDataContext(new DbContextOptionsBuilder().UseSqlServer(connectionString).Options);
IZIPCodeInfoRepository zipCodeRepo = new RouteMiningDAL.SQLZIPCodeInfoRepository(db);
ZIPCodeInfoService zipCodeInfoService = new ZIPCodeInfoService(zipCodeRepo);
ZIPCodeInfoViewModel zipCodeInfoViewModel = new ZIPCodeInfoViewModel(zipCodeInfoService);
ZIPCodeInfoView zipCodeInfoView = new ZIPCodeInfoView(zipCodeInfoViewModel);
MainWindow mainWindow = new MainWindow();
mainWindow.Content = zipCodeInfoView;
mainWindow.Show();
}
}

< /p>
Это создает некоторые проблемы с макетом, потому что я не могу просто установить его на xxxx.Content (я могу догадаться, но я не хочу создавать макет в код). Как мне это сделать? Я упускаю из виду возможность сделать это в XAML? Кажется, что XAML нужен конструктор без параметров, который явно не работает для внедрения конструктора DI. Спасибо!
Отказ от ответственности: я хочу использовать чистый DI.
Подробнее здесь: https://stackoverflow.com/questions/495 ... w-mvvm-wpf
Мобильная версия