Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите пожалуйста с C# Wpf!

VortusOV Гуру (2539), на голосовании 10 месяцев назад
У меня есть код, чтобы по кнопке перейти во второе окно.
Как мне сделать так, чтобы предыдущее окно автоматически закрывалось или скрывалось?

private void Button_Click2(object sender, RoutedEventArgs e)
{
MainWindow NewPage = new MainWindow();
NewPage.Show();
}

this.Hide(); - не работает .

Close и Hide я могу прописать только к NewPage.
Только вот тогда это не имеет смысла, т.к либо окно, которое я хочу открыть , попросту закроется или скроется . Мне же нужно, чтобы оно осталось, а первое окно, которое называется MainWindow.xaml закрылось .
Голосование за лучший ответ
Ƹ Оракул (52800) 11 месяцев назад
Вы можете использовать метод Close() для закрытия текущего окна, когда открываете новое окно. Вот пример кода, который вы можете использовать:
 private void Button_Click2(object sender, RoutedEventArgs e)  
{
MainWindow NewPage = new MainWindow();
NewPage.Show();
this.Close();
}
В этом примере, когда пользователь нажимает на кнопку, создается новый экземпляр MainWindow и отображается с помощью метода Show(). Затем текущее окно закрывается с помощью метода Close(). Это позволит вам перейти к новому окну, закрывая предыдущее.
VortusOVГуру (2539) 11 месяцев назад
Вот том - то проблема, что Close не работает :(
Выбивает ошибку "Page1 не содержит определение Close и не удалось найти доступный метод расширения Close."
VortusOVГуру (2539) 11 месяцев назад
VortusOVГуру (2539) 11 месяцев назад
Ƹ Оракул (52800) VortusOV, Ошибки компилятора CS1061 возникает, когда вы пытаетесь вызвать несуществующий метод или получить доступ к несуществующему члену класса. В вашем случае, ошибка указывает на то, что класс Page1 не содержит определения метода Close. Возможно, вы пытаетесь вызвать метод Close у экземпляра класса Page1, который не наследует от класса Window. Метод Close является членом класса Window, поэтому он доступен только для объектов, которые являются экземплярами этого класса или его наследников. Если вы хотите закрыть окно Page1, убедитесь, что этот класс наследует от класса Window. Если это так, то вы можете использовать метод Close для закрытия окна. Если же класс Page1 не наследует от Window, то вам нужно найти другой способ закрытия этого окна.
Похожие вопросы