簡體   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