C# Close()方法在调用WPF C时不关闭窗口#
我试图在WPF中关闭一个窗口,但是当我调用C# Close()方法在调用WPF C时不关闭窗口#,c#,wpf,C#,Wpf,我试图在WPF中关闭一个窗口,但是当我调用close()时它什么都没做 这是我的主类MainWindow中的方法,我在这里调用Close() 我在另一个类中有一个方法,我也传递了这个方法: if (answer.detail == null) { verify = true; } else { verify = false; } check.UserVerified(verify); 当Close()时,我还有一个函数用于不退出应
close()时代码>它什么都没做
这是我的主类MainWindow
中的方法,我在这里调用Close()代码>
我在另一个类中有一个方法,我也传递了这个方法:
if (answer.detail == null) {
verify = true;
}
else {
verify = false;
}
check.UserVerified(verify);
当Close()时,我还有一个函数代码>用于不退出应用程序,而是将其推送到系统托盘,即:
protected override void OnClosing(CancelEventArgs e)
{
e.Cancel = true;
Hide();
base.OnClosing(e);
}
Close()
在MainWindow类的其他方法中工作,但是当我在另一个类的方法中运行MainWindow方法时,它似乎不工作
应该注意的是,在显示控制台行时,它正在输入if(verified==true){…}
语句 尝试调用Application.Current.Shutdown()
而不是Close()
此外,我认为使用以下方法是更好的做法:
if (verified)
而不是:
if (verified == true)
if (answer.detail == null) {
verify = true;
}
else {
verify = false;
}
使用时相同:
verify = answer.detail == null;
而不是:
if (verified == true)
if (answer.detail == null) {
verify = true;
}
else {
verify = false;
}
实际上,出于清晰的原因,很多样式框架都强制使用==true
。但是在应用程序.Current.Shutdown()中,您是100%正确的,因为这是确认进程中所有线程都已终止的最佳方法。所以我投了赞成票:)