WPF处理窗口任务栏关闭事件

时间:2015-05-08 07:45:53

标签: c# wpf

我在WPF应用程序中遇到问题。当我从Window任务栏(关闭窗口)关闭我的应用程序或按 Alt + F4 时,它永远不会发生Application_exit事件我的App.xaml文件中的处理程序。

<Application x:Class="WPFApplication.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"             
             Startup="Application_Startup" Exit="Application_Exit">

背后的代码

private void Application_Exit(object sender, ExitEventArgs e)
{
    Application.Current.Shutdown();
}

2 个答案:

答案 0 :(得分:1)

您可能已设置

ShutdownMode="OnExplicitShutdown"

在您的App.xaml上(或在后面的代码中)。

因此,您需要在MainWindow的Closed事件上设置一个侦听器,该事件正在调用shutdown方法。

或者你已经设置了

ShutdownMode="OnLastWindowClose"

然后你可能会打开一些窗口,除了MainWindow。

答案 1 :(得分:-1)

您的事件处理程序当前关闭了您的应用:

private void Application_Exit(object sender, ExitEventArgs e)
    {

    Application.Current.Shutdown();

    }

但是如果你想做某事,你应该在`Application.Current.Shutdown();之前添加它。 例如:

`private void Application_Exit(object sender, ExitEventArgs e)
        {
        //Do something here, delete unused files etc...
        Application.Current.Shutdown();

        }