Владелец окна в WPF без поведения «всегда поверх»

Можно ли получить некоторые функции Window.Owner , не получая все?

Есть два окна, окно A и окно B. Я хочу сделать так, чтобы выбор одного из них выводил их поверх других приложений, но любое из них может перекрывать другое. (На самом деле их больше двух, но все они должны вести себя одинаково.)

Если я установлю окно B Владелец на A, то переключение на любое окно приведет к тому, что оба будут перед другими приложениями (что я хочу), но также заставит B всегда сидеть поверх A (чего я не хочу).

На самом деле у меня уже есть код, отслеживающий иерархию окон независимо от Owner / OwnedWindows , поэтому я вероятно, можно расширить это, чтобы решить проблему активации. Так что, если это упрощает проблему, я ищу альтернативный ответ:

Как мне это сделать на самом деле "когда это окно активируется пользователем, перенесите определенный набор окон (все остальные в приложении) в Z-порядок чуть ниже меня, сохраняя при этом их существующие Z-порядки относительно друг друга " ?

12
задан Miral 28 March 2011 в 06:31
поделиться