Close()方法在调用WPF C#时不关闭Window

时间:2018-09-19 07:21:04

标签: c# wpf

我正试图在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) {...}语句。

1 个答案:

答案 0 :(得分:1)

尝试致电Application.Current.Shutdown()而不是Close()

此外,我相信使用是一种更好的做法:

if (verified)

代替:

if (verified == true)

使用相同:

verify = answer.detail == null;

代替:

if (answer.detail == null)    {
  verify = true;                     
}
else    {
  verify = false;
}