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

问题描述 投票:-2回答:1

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

c# wpf
1个回答
1
投票

尝试调用Application.Current.Shutdown()而不是Close()

此外,我认为这是一个更好的做法:

if (verified)

代替:

if (verified == true)

使用相同:

verify = answer.detail == null;

代替:

if (answer.detail == null)    {
  verify = true;                     
}
else    {
  verify = false;
}
© www.soinside.com 2019 - 2024. All rights reserved.