小编Gar*_*rry的帖子

我可以将WPF窗口覆盖在另一个窗口之上吗?

我有一个WPF窗口,其中包含一个WindowsFormsHost元素.我需要在这个元素之上绘制东西,但是WindowsFormsHost它的本质意味着它始终位于绘图堆的顶部.由于我无法在WindowsFormsHost组件顶部的同一个WPF窗口中绘制,我可以在其上覆盖另一个窗口吗?

我已经初步尝试了这个,但是我遇到了一些问题:

1)我无法阻止主窗口和覆盖窗口之间的其他应用程序的窗口.

2)当我按Alt-Tab时,覆盖窗口出现在窗口列表中,这非常难看.

基本上我需要一个"子窗口"的概念,并且所有意图和目的的窗口都显示为另一个窗口的一部分.UserControls对我来说不起作用,因为它总是WindowsFormsHost会在它上面绘制.

有任何想法吗?


更新[2011年5月23日10:13]

谢谢你们的回答.

我已经尝试过这种ChildWindow方法,而且WindowsFormsHost元素仍然是最重要的.据我了解,只有一个真正的窗口可以在a上面绘制WindowsFormsHost,同一个窗口中的任何东西都会在下面WindowsFormsHost.

用的元素WindowsFormsHost仍然会在一个WinForms组件画,他们总是画在上面,这似乎非流通...

我想我正在寻找的是一种方法来停靠外部窗口作为主窗口的一部分.在Mac上,有一个真正的"儿童窗口"的概念,我正在寻找类似的东西.

.net wpf interop windowsformshost

29
推荐指数
2
解决办法
2万
查看次数

标签 统计

.net ×1

interop ×1

windowsformshost ×1

wpf ×1