C# WPF) 如何在 showdialog() 显示子模态 window 后最小化父 window?

C# WPF) how to minimize a parent window after child modal window is showed by showdialog()?

我在 Whosebug 上搜索了一些帖子,并得出一些讨论结论,因为没有办法做到这一点,因为它是 WPF 模态的标准行为 Window。

难道真的没有解决方案来最小化(控制)模态子 Window 的父 Window 吗?

有人破解过或知道往返吗?

您的绝妙想法将永远受到高度赞赏。

谢谢!

您可以通过应用程序 window collection 获取您的 Window 的参考。这是最小化 MainWindow 的示例,在我的示例中是 parent window:

    private void button_Click(object sender, RoutedEventArgs e)
    {
        foreach (Window win in Application.Current.Windows.OfType<MainWindow>())
        {
            var mainWin = ((MainWindow)win);
            mainWin.WindowState = mainWin.WindowState == WindowState.Minimized ? WindowState.Normal : WindowState.Minimized;
        }
    }

您可以将 window 状态设置为最小化。

如果你想摆脱 window 只需使用 .Hide(); 并重新显示它 .Show();.