You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF中如何调用前一个窗口?恢复原窗口可见性咨询

WPF 返回前一个窗口并恢复可见性的方法

针对你遇到的场景,有两种常用实现方式,可根据窗口交互需求选择:

方法一:使用模态窗口(ShowDialog)

这种方式适合需要用户处理完新窗口才能回到原窗口的场景,实现最简单:

Buyer_Login BuyerWindow = new Buyer_Login();
this.Visibility = Visibility.Hidden;
BuyerWindow.ShowDialog(); // 代码会在此暂停,直到BuyerWindow关闭
this.Visibility = Visibility.Visible; // 窗口关闭后自动恢复原窗口可见性

关闭BuyerWindow时直接调用this.Close()即可,原窗口会自动恢复显示。

方法二:非模态窗口传递引用

如果需要保持两个窗口可同时交互(非模态),可以通过设置窗口所有者传递原窗口引用:

  1. 在原窗口打开BuyerWindow时,设置它的Owner为当前窗口:
Buyer_Login BuyerWindow = new Buyer_Login();
BuyerWindow.Owner = this;
this.Visibility = Visibility.Hidden;
BuyerWindow.Show();
  1. 在Buyer_Login窗口中,关闭时恢复原窗口的可见性:
    可以在关闭按钮的点击事件中编写逻辑:
private void CloseBtn_Click(object sender, RoutedEventArgs e)
{
    Owner?.Visibility = Visibility.Visible;
    this.Close();
}

或者订阅窗口的Closing事件,确保无论哪种关闭方式都能恢复原窗口:

public Buyer_Login()
{
    InitializeComponent();
    Closing += (s, e) => Owner?.Visibility = Visibility.Visible;
}

内容的提问来源于stack exchange,提问作者Brayden Chapple

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 18:55:16