Как вывести окно WPF на передний план?
Я создал приложение с одним экземпляром и хочу активировать уже открытое окно, если пользователь запускает приложение несколько раз. Это работает нормально, однако у меня есть проблема, что если уже открытое окно находится за другим окном приложения, я должен вывести его на передний план.
Я попробовал окно.Фокус () и окно.Show () но оба они, кажется, не работают. В качестве обходного пути я использую ...
bool oldTopMost = window.Topmost;
window.Topmost = true;
window.Topmost = oldTopMost;
window.Focus();
... это делает свою работу, но выглядит для меня очень уродливо. Есть ли у кого-нибудь лучшее решение за это?
1 ответ:
Можно использовать окно .Вместо этого активируйте :
window.Activate();Это WPF равнозначный вызовуSetForegroundWindow .
Comments