如何将WPF窗口置于前面?

时间:2010-08-03 18:20:23

标签: wpf

我创建了一个单实例应用程序,并且如果用户多次启动应用程序,则希望激活已打开的窗口。这很好但是我有问题,如果已经打开的窗口超出了另一个应用程序窗口,我必须将它带到前面。

我试过了window.Focus()和window.Show()但是它们似乎都不起作用。作为一种解决方法,我使用......

bool oldTopMost = window.Topmost;
window.Topmost = true;
window.Topmost = oldTopMost;
window.Focus();

......这样做很有意义,但对我来说非常难看。有人有更好的解决方案吗?

1 个答案:

答案 0 :(得分:30)

您可以改为使用Window.Activate

window.Activate();

这是WPF,相当于调用SetForegroundWindow