我想关闭当前显示的窗口。
但是,当我调用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>
答案 0 :(得分:1)
Close()
应该可以解决问题。为什么不能使用为Window
和Close
创建的对象,而不是从Application.Current.Windows
var window = new HomeContentView();
window.Show(); // Shows window
window.Close(); // Closes window
答案 1 :(得分:0)
public void MyMethod()
{
var myWindow = this;
var control = myWindow.Content;
//do stuff
control = null; // is that okay??
myWindow.Close();
}