wpf 使用Generic Host
public partial class App : Application
{
private IHost _host;
public App()
{
_host = new HostBuilder()
.ConfigureAppConfiguration(
(context, configurationBuilder) =>
{
configurationBuilder.SetBasePath(
context.HostingEnvironment.ContentRootPath
);
// 下一步可以添加配置文件
}
)
.ConfigureServices(services => services.AddSingleton<MainWindow>())
.ConfigureLogging(logger => logger.AddDebug())
.Build();
}
protected async override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
await _host.StartAsync();
var mainWindow = _host.Services.GetRequiredService<MainWindow>();
mainWindow.Show();
return;
}
protected async override void OnExit(ExitEventArgs e)
{
base.OnExit(e);
await _host.StopAsync();
return;
}
}
window 和 page 等 能否 构造函数完成依赖注入还未尝试
标签:OnExit,Generic,Host,host,override,wpf From: https://www.cnblogs.com/1w1f/p/16739027.html