我正试图在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) {...}
语句。
尝试调用Application.Current.Shutdown()
而不是Close()
。
此外,我认为这是一个更好的做法:
if (verified)
代替:
if (verified == true)
使用相同:
verify = answer.detail == null;
代替:
if (answer.detail == null) {
verify = true;
}
else {
verify = false;
}