繁体   English   中英

如何最大化 wpf 中的主要 window

[英]How to maximize main window in wpf

我正在开发 WPF 应用程序,它有多个 windows 都连接到主 window。 WindowStyle 也设置为无,所以我没有最大化和最小化按钮,所以我希望能够在我关闭依赖 window 时返回主按钮。 问题是当我关闭依赖 window 主要 window 仍然最小化时,我必须单击工具栏上的图标才能将其打开。 我究竟做错了什么?

这是去依赖 window 的代码

private void ButtonVlasnici_Click(object sender, RoutedEventArgs e)
        {
            var win = new WinVlasnici();
            win.Show();
            WindowState = WindowState.Minimized;

        }

这是为了回到主要:

private void ButtonNazad_Click(object sender, RoutedEventArgs e)
        {
            var win = new MainWindow();

            win.WindowState = WindowState.Maximized;
            Close();
        }
var win = new MainWindow();

这是错误的。 您不应该从子窗口的关闭创建新的MainWindow

有几种方法可以解决这个问题。 如果您使用的是 MVVM,您应该(而且我不能强调它),您可以使用您的对话处理程序组件来处理这种情况。 此处提供了一个示例。

如果您不使用 MVVM,您可以通过孩子的构造函数将主窗口的引用传递给您的孩子 window,然后使用此引用在孩子的关闭事件中最大化主 window。 像这样的东西:

public class Child
  private Window _Main;
  public Child(Window main)
  {
    _Main = main;
  }

  private void ButtonNazad_Click(object sender, RoutedEventArgs e)
  {
    _Main.WindowState = WindowState.Maximized;
    Close();
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM