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

时间:2016-05-02 07:05:48

标签: c# wpf modal-dialog window minimize

我已经在stackoverflow上搜索了一些帖子,并且一些讨论得出结论,因为WPF模式窗口的标准行为无法做到这一点。

是否真的有一个解决方案可以从模态子窗口最小化(控制)父窗口?

任何黑客攻击或知道往返的人?

您的出色创意将永远受到高度赞赏。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以通过应用程序窗口集合获取Window的引用。这是一个最小化MainWindow的例子,在我的例子中是父窗口:

    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;
        }
    }

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

如果您想摆脱窗口,只需使用.Hide();并将其显示为.Show();