У меня есть окно WPF, который содержит элемент WindowsFormsHost
. Мне нужно рисовать поверх этого элемента, но природа WindowsFormsHost
означает, что он всегда находится наверху стопки рисунков. Поскольку я не могу рисовать в том же окне WPF поверх компонента WindowsFormsHost
, могу ли я наложить на него другое окно?
Я пробовал это элементарным способом, но у меня есть несколько проблемы:
1) Я не могу остановить окна других приложений, находящихся между главным окном и окном наложения.
2) Когда я нажимаю Alt-Tab, окно наложения появляется в списке окон, то есть довольно уродливо.
В основном мне нужна концепция «дочернего окна», и окно, которое во всех смыслах и целях появляется как часть другого окна. UserControls у меня не работает, поскольку WindowsFormsHost
будет всегда рисовать поверх него.
Есть идеи?
Обновление [23 мая '11 в 10:13]
Спасибо вам обоим за ответов.
Я пробовал подход ChildWindow
, а элемент WindowsFormsHost
все еще отображается поверх. Насколько я понимаю, только настоящее окно может рисоваться поверх WindowsFormsHost
, все, что находится в том же окне, будет находиться под WindowsFormsHost
.
Элемент с WindowsFormsHost
по-прежнему будет рисовать под компонентом WinForms, они всегда отображаются поверх, и это кажется не подлежащим обсуждению ...
Я думаю, что я ищу способ закрепить внешнее окно, чтобы оно действовало как часть главного окна. На Mac существует концепция настоящего «дочернего окна», я ' м ищу что-то подобное.