Закрыть окно в WPF C # - PullRequest
       7

Закрыть окно в WPF C #

0 голосов
/ 27 февраля 2019

Я хочу закрыть окно, которое отображается в данный момент.Но когда я звоню 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>

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019
public void MyMethod()
    {
        var myWindow = this;
        var control = myWindow.Content;
        //do stuff
        control = null; // is that okay??
        myWindow.Close();
    }
0 голосов
/ 27 февраля 2019

Close() должны сделать свое дело.Почему вы не можете использовать объект, созданный для Window и Close, вместо доступа к нему из Application.Current.Windows

var window = new HomeContentView(); 
window.Show(); // Shows window
window.Close(); // Closes window
...