C# WPF如何关闭通过父窗口打开的所有子窗口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# WPF如何关闭通过父窗口打开的所有子窗口相关的知识,希望对你有一定的参考价值。
1:在父窗口上设置一个静态类型的数组属性,叫ChildrenForms或者其他什么名字。2:父窗口在打开子窗口前,把你新建立的子窗口对象也在这数组中存一份。
3:想要关闭所有子窗口时,直接遍历父窗口的ChildrenForms数组,挨个调用Close方法即可。 参考技术A
虽然迟了点,不过这应该是个好方法:
foreach (Window item in Application.Current.Windows)if (item.Title == "") continue; // 跳过无标题窗口
if (item.Title != "父窗口标题") item.Close();
如何在WPF中单击菜单项时在父窗口下打开子窗口?
【中文标题】如何在WPF中单击菜单项时在父窗口下打开子窗口?【英文标题】:How to open a child windows under parent window on menu item click in WPF? 【发布时间】:2011-11-14 11:00:16 【问题描述】:我正在用 C# 开发一个应用程序。我在 WPF 下使用 .Net。我想打开一个新的子窗口(如对话框),它应该在主窗口中打开,就在菜单栏的下方。
但是,新打开的窗口只是显示一个操作系统任务栏。如何在主窗口下打开各种新窗口(如对话框)?
【问题讨论】:
【参考方案1】:试试这个。
MyChildWindow cw = new MyChildWindow();
cw.ShowInTaskbar = false;
cw.Owner = Application.Current.MainWindow;
cw.Show();
【讨论】:
如果您有多个窗口并且 Application.Current.MainWindow 不是所需的窗口,您可以使用 VisualTreeHelper.GetParent 遍历树,直到到达当前窗口。 对于对话框,您应该使用 ShowDialog 而不是 Show。以上是关于C# WPF如何关闭通过父窗口打开的所有子窗口的主要内容,如果未能解决你的问题,请参考以下文章