Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 关闭窗口后的TaskCanceledException_C#_Wpf - Fatal编程技术网

C# 关闭窗口后的TaskCanceledException

C# 关闭窗口后的TaskCanceledException,c#,wpf,C#,Wpf,首先,我有多个窗口,打开另一个窗口时会隐藏这些窗口,所以我必须使用 Application.Current.Shutdown(); 当按下右上角的“x”时,完全关闭应用程序 我想在my Home.xaml.cs文件中处理WindowClosing事件。但如果我这样做: public Home() { 初始化组件(); 关闭+=WindowClosing.OnWindowClosing; } 然后,当我关闭窗口时,我会得到一个System.Threading.Tasks.TaskCancele

首先,我有多个窗口,打开另一个窗口时会隐藏这些窗口,所以我必须使用

Application.Current.Shutdown();
当按下右上角的“x”时,完全关闭应用程序

我想在my Home.xaml.cs文件中处理WindowClosing事件。但如果我这样做:

public Home()
{
初始化组件();
关闭+=WindowClosing.OnWindowClosing;
}
然后,当我关闭窗口时,我会得到一个
System.Threading.Tasks.TaskCanceledException

以下是
WindowClosing
事件处理程序:

public static void OnWindowClosing(object sender, CancelEventArgs e)
{
    Application.Current.Shutdown();
}
奇怪的是,我对登录窗口做了完全相同的操作,它在那里工作没有任何问题

我已经完成了这一步,关闭事件得到了应有的设置(在Login.xaml.cs中,也在Home.xaml.cs文件中)

我知道这不是关于这个错误的太多信息(我想这就是全部,但可能错误来自其他地方?!),但是可能有其他人遇到了这个问题,可以帮助我。 如果你需要更多的信息,请告诉我,我会编辑这个问题

谢谢你的帮助

编辑:


解决方案是采取
Environment.Exit(0)而不是
Application.Current.Shutdown()

在您的
OnWindowClosing()
方法中,您可以尝试用以下行替换
应用程序.Current.Shutdown()


环境。退出(0);非常好用,谢谢!但是使用Application.Current.Dispatcher.InvokeShutdown();我仍在获取System.Threading.Tasks.TaskCanceledException。请参阅我的编辑,我已删除后者。请投票并接受正确答案!完成了。再次感谢您的快速响应和帮助!
Environment.Exit(0);