任何人都可以共享代码,让我回到主窗口而无需打开新窗口吗?
您可以使用此代码在页面之间导航:
page1 page = new page1();
this.content = page;
但是,您无法使用以下代码导航回主窗口:
MainWindow home = new MainWindow();
this.content = home;
有关如何在不打开新窗口的情况下返回主窗口的任何建议吗?
答案 0 :(得分:0)
步骤1-通过构造函数使Page类具有对Mainwindow的引用
public partial class Page1 : Page
{
private MainWindow mainWindow;
public Page1(MainWindow mainWindow)
{
InitializeComponent();
this.startWindow = startWindow;
//SET Height and width to match the content of the page if it differs from
//mainwindow
Application.Current.MainWindow.Height = 450;
Application.Current.MainWindow.Width = 450;
}
第2步-在MainWindow中,当您要将内容更改为page1时,请创建一种更改方法
public void ChangeContentToPage1Action(){
Page1 page = new Page1(this);
this.content = page;
}
第3步-在MainWindow中创建一个属性,该属性可以记住显示的启动主窗口内容。 AND在MainWindow中创建一个方法以返回默认内容
public partial class MainWindow : Window
{
private object content;
public MainWindow()
{
InitializeComponent();
content = Content;
}
public void GoBackToStartPage()
{
Content = cont;
//Sets the height and width of the application back to default if it differs from the page calling this method
Application.Current.MainWindow.Height = 200;
Application.Current.MainWindow.Width = 300;
}
第4步-从Page1类中,您现在可以通过mainWindow属性调用GoBackToStartPage(),并将内容更改回默认值
mainWindow.GoBackToStartPage();
这对我有帮助。
我希望有人可以使用它