相关疑难解决方法(0)

我可以将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万
查看次数

使WPF弹出窗口不受屏幕限制

弹出窗口的默认行为是,如果它放置在超出屏幕边缘的位置,Popup将重新定位自身.有没有办法解决这个问题?

我有一个用户可以在屏幕上拖动的Popup.但是,当它到达边缘时会卡住.它会卡在边缘并停留在那里,直到鼠标被拖离边缘.此外,我有两个显示器,当弹出窗口被拖到边缘时,两个显示器共享我闪烁.弹出窗口在两个监视器之间闪烁.

c# wpf popup

7
推荐指数
1
解决办法
3020
查看次数

标签 统计

wpf ×2

.net ×1

c# ×1

interop ×1

popup ×1

windowsformshost ×1