.net 应用程序窗口的z顺序-WPF

.net 应用程序窗口的z顺序-WPF,.net,wpf,.net-3.5,.net,Wpf,.net 3.5,有没有办法找出我的应用程序(application.current.windows)中所有活动窗口的z顺序 或者以任何其他方式找出模态窗口的“父”窗口是什么 我正在尝试实现一个“着色器”功能,当显示模式窗口时,该功能应使父窗口淡入淡出。(到目前为止,我找到的唯一方法是将“父”窗口作为参数传递,但我真的不喜欢这种方式)。无论如何,你应该将它传递给父窗口,否则如果用户在你的应用程序和其他应用程序之间切换,你可能会遇到奇怪的情况(我上周刚刚修复了这个问题:)。窗口有一个所有者属性,在显示模式窗口时应设

有没有办法找出我的应用程序(application.current.windows)中所有活动窗口的z顺序 或者以任何其他方式找出模态窗口的“父”窗口是什么


我正在尝试实现一个“着色器”功能,当显示模式窗口时,该功能应使父窗口淡入淡出。(到目前为止,我找到的唯一方法是将“父”窗口作为参数传递,但我真的不喜欢这种方式)。

无论如何,你应该将它传递给父窗口,否则如果用户在你的应用程序和其他应用程序之间切换,你可能会遇到奇怪的情况(我上周刚刚修复了这个问题:)。窗口有一个所有者属性,在显示模式窗口时应设置该属性:

bool? res = new MyWindow(){Owner = this}.ShowDialog();
然后,您可以从子窗口使用Owner属性:

if (Owner != null) {
 Owner.DoWhateverYouWant();
}

好主意,瑞亚。这并不完全是我想要的,但仍然比仅仅为“父”表单创建一个新参数要好得多。