如何将WPF窗口置于前面?

HCL*_*HCL 18 wpf

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

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

bool oldTopMost = window.Topmost;
window.Topmost = true;
window.Topmost = oldTopMost;
window.Focus();
Run Code Online (Sandbox Code Playgroud)

......这样做但看起来很难看.有人有更好的解决方案吗?

Ree*_*sey 30

您可以使用Window.Activate:

window.Activate();
Run Code Online (Sandbox Code Playgroud)

这是WPF等于调用SetForegroundWindow.