如何在 WPF 中从一个窗口移动到另一个窗口?

Posted

技术标签:

【中文标题】如何在 WPF 中从一个窗口移动到另一个窗口?【英文标题】:How to move from one window to another in WPF? 【发布时间】:2022-01-05 18:03:00 【问题描述】:

我正在开发 WPF UI,现在我有一个登录窗口和一个 MainWindow,在 MainWindow 中有多个 userControls,现在当应用程序启动时它会打开登录窗口,我如何移动到 MainWindow 并关闭点击登录按钮时的登录窗口??

【问题讨论】:

【参考方案1】:

只需关闭登录窗口并打开主窗口。

例如。点击按钮

private void LoginButton_Click(object sender, EventArgs args)

     this.Close();
     (new MainWindow()).Open();

唯一要记住的是指定ShutdownMode默认是OnLastWindowClose

https://docs.microsoft.com/en-us/dotnet/api/system.windows.application.shutdownmode?view=netframework-4.8

如果您想坚持使用默认的ShutdownMode,您可以执行以下操作

private void LoginButton_Click(object sender, EventArgs args)

     this.Hide(); //first hide the LoginWindow
     (new MainWindow()).Open();
     this.Close(); //now close the LoginWindow, and the "MainWindow" will be the LastWindow

【讨论】:

非常感谢您的详细回答,成功了。

以上是关于如何在 WPF 中从一个窗口移动到另一个窗口?的主要内容,如果未能解决你的问题,请参考以下文章

WPF中如何实现将一个窗口的对象关联到另一个窗口?

WPF 将对象从窗口的用户控件传递到另一个窗口的用户控件

如何在文件后面没有代码的情况下移动无边框 wpf 窗口

WPF中从一个窗口调用另一个窗口(或page)的函数

在 WPF 窗口中从 CMD 捕获输出

当 WPF 弹出窗口的锚元素移动时,如何移动它?