Необходимо контролировать "Z Order" окон в приложении WPF - PullRequest
2 голосов
/ 07 октября 2009

У меня есть приложение, которое из-за проблем с воздушным пространством OpenGL должно размещать несколько элементов управления в отдельных эксклюзивных окнах. Это работает довольно хорошо, но я устанавливаю все окна на TopMost = true, что означает, что они продолжают отображаться, даже когда теряют фокус, но они также накладываются на другие приложения. Кроме того, это как бы связывает меня с использованием только одного окна за раз для этого. Activate() тоже не работает.

Ответы [ 2 ]

2 голосов
/ 07 октября 2009

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

Внутри элемента управления, который опосредует содержание и измерение дочернего окна:

InnerWindow.Owner = Window.GetWindow(this);

this являющийся windowHostControl, размещающим это окно.

0 голосов
/ 07 октября 2009

Я использую, чтобы объединить методы Activate () и Focus (), чтобы показать скрытое окно. Можете ли вы попробовать использовать Focus () и сообщить нам, если это работает?

...