繁体   English   中英

在WPF C#中关闭窗口

[英]Close Window in WPF C#

我想关闭当前显示的窗口。 但是当我调用Close() ,它仅隐藏窗口。 并且内存长度仍然增加而不是减少。

我也使用此答案来解决此问题:

https://stackoverflow.com/a/34651426/9135351

但这不起作用。

这是我的代码,以显示一个新窗口并关闭显示的窗口

C#

private void Home_Click(object sender, RoutedEventArgs e)
{
   new HomeContentView().Show(); //Open Home window
   Close(); //Close current window
   GC.Collect(); //Realease
}

XAML

 <Button
     ToolTip="Home"
     Click="Home_Click"
     Cursor="Hand"
     Background="Transparent"
     BorderBrush="Transparent"
     Margin="0,0,221,0"
     HorizontalAlignment="Right"
     Width="48" Height="48"
     VerticalAlignment="Top">

     <materialDesign:PackIcon Kind="Home" Width="37" Height="38" 
     Foreground="Black" HorizontalAlignment="Stretch" />
 </Button>

Close()应该可以解决问题。 为什么不能使用为Window创建的对象并Close它,而不是从Application.Current.Windows访问它

var window = new HomeContentView(); 
window.Show(); // Shows window
window.Close(); // Closes window
public void MyMethod()
    {
        var myWindow = this;
        var control = myWindow.Content;
        //do stuff
        control = null; // is that okay??
        myWindow.Close();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM