当 Application.Current 为 NULL 时如何退出 wpf 应用程序?
Posted
技术标签:
【中文标题】当 Application.Current 为 NULL 时如何退出 wpf 应用程序?【英文标题】:How to exit a wpf application when Application.Current is NULL? 【发布时间】:2014-10-23 08:48:52 【问题描述】:当我需要退出WPF Application
时,我通常使用Application.Current.Shutdown()
,但有时Application.Current
是NULL
,我也尝试过Environment.Exit(0)
,但它不能正常工作。
当Application.Current
是NULL
时,还有其他方法可以退出WPF Application
specialy 吗?
这是我的代码:
public partial class App : Application
protected override void OnStartup(StartupEventArgs e)
if (something)
continue....
else
Application.Current.Shutdown()
【问题讨论】:
从什么上下文中调用 Application.Current?你能发布你正在使用的代码吗? 我想关闭我的整个应用程序!对于任何AppDomain
,只有一个System.Windows.Application
。
你有没有试过 this.Close(); ??
@apomene:你这是什么意思?我在App.xaml
中使用此代码,而在此处不使用此代码!!!
我第一次听说Application.Current
可以为空。至少在加载主窗口之后,Application.Current
没有理由为空。
【参考方案1】:
System.Diagnostics.Process.GetCurrentProcess().Kill();
这会立即终止您的应用程序。
【讨论】:
【参考方案2】:这显然是每个设计。为什么启动尚未完成时会有可用的应用程序。就这样做吧。
public partial class App : Application
protected override void OnStartup(StartupEventArgs e)
if (false)
//
else
this.Shutdown();
【讨论】:
以上是关于当 Application.Current 为 NULL 时如何退出 wpf 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
Application.Current.Dispatcher.BeginInvoke(action) VS。 Application.Current.Dispatcher.Invoke(action)
UWP 应用程序错误:“无效的绑定路径‘Application.Current’:在类型‘MainPage’上找不到属性‘Application’”
在 WPF / Regex 中读取 Application.Current.Properties 的整数
Application.Current.<PageName> 返回 null
如何测试包含Application.Current.Properties.ContainsKey(“token”)的方法