当 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.CurrentNULL,我也尝试过Environment.Exit(0),但它不能正常工作。 当Application.CurrentNULL 时,还有其他方法可以退出WPF Applicationspecialy 吗?

这是我的代码:

 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)

WPF中Application.Current的使用

UWP 应用程序错误:“无效的绑定路径‘Application.Current’:在类型‘MainPage’上找不到属性‘Application’”

在 WPF / Regex 中读取 Application.Current.Properties 的整数

Application.Current.<PageName> 返回 null

如何测试包含Application.Current.Properties.ContainsKey(“token”)的方法