Witam, mam taki oto kod:
[STAThread]
public static void Main(string[] args)
{
if (File.Exists(path))
{
window1.Show()
}else
{
window2.Show()
}
System.Windows.Threading.Dispatcher.Run();
}
Tą metodę mam w klasie, którą nazwałem "start", i za jej pomocą uruchamiam te okno, które ma się pojawić. Sęk w tym, że potrzebuje przełączać się między tymi oknami też po uruchomieniu jednego z nich. W tym celu robię coś takiego:
np. W window1:
metoda(po kliknięciu przycisku){
this.Close
window2.Show()}
No właśnie... I ten kod działa, chociaż nie powinien (Close();) powinno zamknąć mi okno, więc dalszy kod powinien się nie wykonać. Jednak wszystko działa "jak należy". Więc gdzie leży problem ? A no w tym, że klasa okna window1, nigdy nie zostaje zniszczona. Przełączając się np. 10x między jednym i drugim oknem te pozostają w pamięci (sprawdzałem, czy destruktor po zamknięciu jest wywoływany, ale niestety nie jest), a tak być nie powinno... Uruchamiając bezpośrednio okno window1 (ustawione jako element startowy) wszystko działa jak należy. Tak więc mniemam, że źle "powołuje" okno do życia w mojej metodzie startowej.
Pomoże ktoś ? Siedzę nad tym już trochę i nie mogę sobie poradzić...
Pozdrawiam ;)