我想可以肯定地说 WPF 将其内容呈现为窗口背景。不存在传统 HWND 意义上的子窗口。因此,当人们在 WPF 应用程序中引入基于 HWND 的东西(例如 Web 浏览器)时,视觉外观方面的事情就开始出错。
考虑一个窗口有一个带有两个子项的网格、WebBrowser 和其他东西,例如文本框。如果 WebBrowser 是一个红色圆圈,则文本框将呈现在其顶部。对于 WebBrowser,在任何地方都找不到 TextBox。这是因为 TextBox 被渲染为主窗口的背景,而 WebBrowser 实际上是主窗口的 HWND 子窗口,遮挡了背景。
所以一切都(不)很好。一个人如何实现期望的行为?我想让 TextBox 在 WebBrowser 之上呈现。有人遇到过这个问题吗?
我正在考虑拥有第二个透明的顶级无边框 WPF 窗口,重新设置它的父级,以便主窗口拥有它,并执行一些其他技巧来实现它。
在深入研究之前,我想知道是否有人有一个明显或更简单的解决方案?
由 Melak 更新
我向任何可以发布 Ray Burns Answer 实施的人提供此赏金AirRepair
。我自己尝试过但没有成功
通读一下WPF 互操作:“空域”和窗口区域概述 http://msdn.microsoft.com/en-us/library/aa970688.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)