首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

|ZYCWPF| WPF中窗体怎么得到他是由哪个窗体Show出的的呢? 多谢

2012-12-24 
|ZYCWPF| WPF中窗体如何得到他是由哪个窗体Show出的的呢? 谢谢如,我有A窗体和B窗体我在A窗体的按钮中用var

|ZYCWPF| WPF中窗体如何得到他是由哪个窗体Show出的的呢? 谢谢
如,我有A窗体和B窗体
我在A窗体的按钮中用
var b = new B();
//b.OwnerWindow = this; //我要求是不要这一句设置后,在B中怎么取得
b.show();
然后我如何在B的默认构造器中如何得到我是a窗体
public B()
{
  ??这里得到我是由哪窗体Show出来的
}
我用Application.Current.MainWindow的话这样只能得到的是启动的窗体
也就是说,如何得到他是由哪个窗体show出来的

谢谢
[解决办法]
this.Owner
[解决办法]
没有办法。因为如果不加上b.OwnerWindow,那么a和b只是创建时间有先后,但是没有隶属关系。
[解决办法]
好像是做不到的。b.show();也不一定是从一个窗口发出的调用,所以不会知道哪个窗体show的它。

不过可以用下面的方法知道当前的活动窗口:
Application.Current.Windows.Cast<Window>().SingleOrDefault(x => x.IsActive);

热点排行