WPF 中关闭子窗体时,出现父窗体自动最小化问题。

wpf应用中,从父窗体新建并打开了一个子窗体。想让子窗体显示在父窗体居中位置。会在子窗体xmal里window标签中添加 windowStartupLocation=“CenterOwner”。

然后在父窗体中 

ChildWindow cw=new ChildWindow();
cw.Owner=this;
cw.ShowDialog();

子窗体中关闭窗体时代码:

this.Close();

以上方式打开子窗体,然后关闭子窗体。结果在子窗体关闭时,父窗体自动最小化到桌面任务栏中去了。

网上搜了有网友说是WPF的一个bug。解决办法将子窗体的关闭代码改成:

this.Close();
this.Owner.Activate();

上面在子窗体关闭后,将父窗体进行激活就解决了父窗体最小化的问题。

 

上一篇:WPF FlowDocument中的Block级元素


下一篇:C# WPF简单的MVVM模式事例