最基本的结束应用程序的方法:首先拿到Application.Current 静态实例(单例)
// Programmatically shut down app
Application.Current.Shutdown();
但是通常还会有其他两个常见情景
-
处于其他线程时想要结束程序
Application.Current.Dispatcher.Invoke(() => Application.Current.Shutdown());
await InvokeAsync 似乎行为和奇怪,不知道为什么不行。 -
Application还未初始化时
在Startup里结束不了程序,直接return好了
其他
Dispatcher 中的 Application.Current.Dispatcher.InvokeShutdown()
这个是关闭dispatcher上下文的,不要搞混。
CaliburnMicro.BootstrappeBase 中提供的Application实例,不要和WPF的搞混,
Application.Shutdown()
Application.Dispatcher.InvokeShutdown()
网友评论