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);