我正试图在WPF中关闭一个窗口,但是当我调用Close();
时,它什么也没做。
这是我叫MainWindow
的主类Close();
中的方法
public void UserVerified(bool verified) {
if (verified == true) {
Console.WriteLine("closing...");
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) {...}
语句。
答案 0 :(得分:1)
尝试致电Application.Current.Shutdown()
而不是Close()
。
此外,我相信使用是一种更好的做法:
if (verified)
代替:
if (verified == true)
使用相同:
verify = answer.detail == null;
代替:
if (answer.detail == null) {
verify = true;
}
else {
verify = false;
}