【问题标题】:Closing a window in WPF在 WPF 中关闭窗口
【发布时间】:2016-01-07 09:20:38
【问题描述】:

单击将我发送到另一个窗口的按钮后,我想在 WPF 中关闭一个窗口。

我尝试使用win3.Close();,但它不起作用。 这是引用第二个窗口的主窗口。

private void Button_Click_1(object sender, RoutedEventArgs e)
 {
   Window2 win3 = new Window2();
   win3.Show();
 }

还是应该隐藏?

【问题讨论】:

  • 你想在哪里关闭窗口?是在同一个按钮点击吗?
  • 如果你隐藏它,它仍然会在那里,使用资源等 - 只是隐藏。
  • 看看这个问题。希望它是你想要的:stackoverflow.com/questions/33281524/hidden-form-not-closing
  • 如果你想一想:Win1 有对 Win2 的引用,那么你想关闭 Win1 让它失去对 Win2 的引用吗?如果您不想回到 Win1,则必须将窗口处理提升为 WindowContainer。如果你想回到Win1,你应该隐藏并重新显示它。

标签: c# wpf


【解决方案1】:

在显示下一个窗口之前,您只需要输入this.Close();

private void Button_Click_1(object sender, RoutedEventArgs e)

 {
   Window2 win3 = new Window2();
   this.Close();
   win3.Show();
 }

【讨论】:

    【解决方案2】:

    你可以使用this.Close(),这会像winform.close()一样关闭WPF窗口;

    但在您的情况下,您可以使用以下代码:

    Window wpfForm = Application.Current.Windows.OfType<Window>().SingleOrDefault(win => win.Name == "YourNameOfWindow");
    wpfForm.Close();
    

    【讨论】:

      【解决方案3】:

      你可以使用

      Application.Current.Windows[1].Close();
      

      【讨论】:

        猜你喜欢
        • 2019-07-21
        • 2019-12-14
        • 1970-01-01
        • 2011-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多