首页 > 解决方案 > c# WPF App.Current 在自定义对话框窗口关闭后变为空

问题描述

我有 WPF 应用程序,我在其中更改了默认入口点。

<Application x:Class="FrazerClient.App" Startup="AppStartup">

public void AppStartup(object sender, StartupEventArgs e)
{
    // Does some minor work before an application window opens.
}

次要的工作调用了这几次:

App.Current.Dispatcher.Invoke((Action)delegate
{
  // Custom dialog window is opened
});

第二次调用时,App.Current 变为空。我几乎肯定与自定义对话框窗口关闭有关,但不确定如何防止对话框窗口的App.Current关闭在最后一个窗口关闭时无效。

这也阻止App.Current.Shutdown()了工作。

标签: c#wpf

解决方案


设置ShutDownModeOnExplicitShutdown关闭窗口不会自动关闭应用程序。

您通常在应用程序对象的 Xaml 中执行此操作

<Application x:Class="FrazerClient.App"
         Startup="AppStartup"
         ShutdownMode="OnExplicitShutdown">

推荐阅读