Как вывести окно WPF на передний план?



Я создал приложение с одним экземпляром и хочу активировать уже открытое окно, если пользователь запускает приложение несколько раз. Это работает нормально, однако у меня есть проблема, что если уже открытое окно находится за другим окном приложения, я должен вывести его на передний план.



Я попробовал окно.Фокус () и окно.Show () но оба они, кажется, не работают. В качестве обходного пути я использую ...



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


... это делает свою работу, но выглядит для меня очень уродливо. Есть ли у кого-нибудь лучшее решение за это?

536   1  
wpf

1 ответ:

Можно использовать окно .Вместо этого активируйте :

window.Activate();

Это WPF равнозначный вызовуSetForegroundWindow .

Comments

    Ничего не найдено.