主窗口显示没有所有者的窗口。然后主窗口显示它拥有的窗口。拥有的窗户将自己和主窗口带到前面。
我希望拥有的窗口和主窗口在没有所有者的情况下留在窗口后面。在拥有的窗口上将属性ShowActivated设置为false不会阻止窗口将自己置于前面,但会阻止窃取焦点。
在调用Show时如何让拥有的窗口留在无主窗口后的任何想法?
Window ownerlessWindow = new OwnerlessWindow();
ownerlessWindow.Show();
Thread.Sleep(1000);
Window child = new ChildWindow();
child.ShowActivated = false;
child.Owner = this;
child.Show();
// Bring the ownerless window to the front
ownerlessWindow.Topmost = true;
ownerlessWindow.Topmost = false;
ownerlessWindow.Focus();
在测试应用程序中,上面的代码确实将无主窗口放回到前面而窗口顺序没有明显变化。在生产应用程序中,窗口顺序发生了快速,可见的变化。
答案 0 :(得分:0)
Window ownerlessWindow = new OwnerlessWindow();
// set the ownerless window topmost first
ownerlessWindow.Topmost = true;
ownerlessWindow.Show();
Thread.Sleep(1000);
Window child = new ChildWindow();
child.ShowActivated = false;
child.Owner = this;
child.Show();