我有一个WPF窗口,其中包含一个WindowsFormsHost
元素.我需要在这个元素之上绘制东西,但是WindowsFormsHost
它的本质意味着它始终位于绘图堆的顶部.由于我无法在WindowsFormsHost
组件顶部的同一个WPF窗口中绘制,我可以在其上覆盖另一个窗口吗?
我已经初步尝试了这个,但是我遇到了一些问题:
1)我无法阻止主窗口和覆盖窗口之间的其他应用程序的窗口.
2)当我按Alt-Tab时,覆盖窗口出现在窗口列表中,这非常难看.
基本上我需要一个"子窗口"的概念,并且所有意图和目的的窗口都显示为另一个窗口的一部分.UserControls对我来说不起作用,因为它总是WindowsFormsHost
会在它上面绘制.
有任何想法吗?
更新[2011年5月23日10:13]
谢谢你们的回答.
我已经尝试过这种ChildWindow
方法,而且WindowsFormsHost
元素仍然是最重要的.据我了解,只有一个真正的窗口可以在a上面绘制WindowsFormsHost
,同一个窗口中的任何东西都会在下面WindowsFormsHost
.
用的元素WindowsFormsHost
仍然会在一个WinForms组件画,他们总是画在上面,这似乎非流通...
我想我正在寻找的是一种方法来停靠外部窗口作为主窗口的一部分.在Mac上,有一个真正的"儿童窗口"的概念,我正在寻找类似的东西.