用途:管理 WPF 应用从启动到结束的完整生命周期,包括初始化、关闭、会话结束与运行时行为。
主要能力:
- 启动处理:通过 App.xaml 的 StartupUri、Startup 事件,或重写 OnStartup 处理命令行参数、初始化服务并手动创建主窗口。
- 关闭处理:配置 ShutdownMode(OnLastWindowClose、OnMainWindowClose、OnExplicitShutdown),重写 OnExit 保存设置、释放资源并设置退出码;在 Window.Closing 中可取消关闭。
- 会话结束:处理 SessionEnding 事件,区分注销或关机,必要时取消并执行紧急保存。
- 未处理异常:处理 UI 线程的 DispatcherUnhandledException、非 UI 线程的 AppDomain.UnhandledException 以及 TaskScheduler.UnobservedTaskException。
- 高级模式:单实例、设置与激活处理见 ADVANCED.md。
使用方式:在 App.xaml 中声明 Startup、Exit、SessionEnding 事件,或在 App 类中重写 OnStartup/OnExit;在窗口代码中订阅 Closing 事件。
适用场景:需要控制应用启动顺序、优雅退出、防止数据丢失、处理系统注销/关机以及统一异常处理的 WPF 桌面应用。
限制:资料未提供具体依赖版本、平台要求或完整示例代码,部分细节需参考 Microsoft Docs 与 ADVANCED.md。