【问题标题】:OnMainWindowClose not working in wpfOnMainWindowClose 在 wpf 中不起作用
【发布时间】:2017-04-20 01:16:03
【问题描述】:

我似乎无法让 OnMainWindowClose、OnLastWindowClose 或 OnExplicitShutdown 在我的 WPF C# gui 应用程序中工作。 我已将主窗口的名称更改为 UI。 我的 App.xml x:Class 中有一个条目为 ShutdownMode="OnMainWindowClose"。 我正在使用 MahApps。 我在 VS2012 中以调试模式运行应用程序,当我单击关闭按钮时,窗口标题栏(窗口右上角带有白色十字的红色框)我可以看到窗口关闭但应用程序仍在运行背景。我必须按下 VS2012 中的调试停止按钮才能终止该进程。 作为初学者,我仍在尽力理解这一点,所以如果有人可以建议我尝试一些东西,我将不胜感激。

【问题讨论】:

  • 您是否尝试过此线程第二条评论中的所有内容?:stackoverflow.com/questions/9992119/…
  • 是的,我已经尝试了页面上的所有建议,但没有一个成功。我在解析它时遇到了一些问题,因此没有完全尝试过的建议之一:如果上述方法不起作用(我猜你是从头开始编写 WPF 应用程序),则应用程序可能不知道主窗口是主窗口。所以也要指定。在代码 Application.MainWindow 的值是你的窗口: MainWindow = mainWindow;在 XAML MainWindow = "mainWindow";我相信我应该用我的新 UI 名称替换 mainWindow,但 VS2012 总是抱怨 UI
  • 当您在 Visual Studio 之外运行应用程序时,它是否正确关闭(即任务管理器中没有延迟进程)。如果是这样,它可能是 VS 调试选项之一。
  • 好的,谢谢。我在追一个鬼。它在 VS 之外正确运行和终止。它必须是配置调试的方式。有一天我会弄清楚为什么,但现在这并不重要。很高兴我现在知道了,非常感谢。

标签: wpf visual-studio-2012 shutdown


【解决方案1】:

根据我们的研究,这似乎与 Visual Studio 中的调试选项有关。

如果您没有时间解决此问题并且您不关心“干净”地退出应用程序,您应该可以使用以下方法:

Environment.Exit(0);

这肯定会脱离调试。

【讨论】:

    猜你喜欢
    • 2011-02-26
    • 2012-08-06
    • 2011-02-21
    • 2017-12-24
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多