是否可以将WPF WebBrowser与其他UIElement重叠
本文关键字:其他 UIElement 重叠 WebBrowser WPF 是否 | 更新日期: 2023-09-27 18:23:59
我想在WPF WebBrowser上放一些UIElement
(opacity=0),即通过这个放得太多的UIElement
捕捉所有点击事件。
有可能做到吗?
此代码不起作用。。。
<Canvas Name="cnsMain">
<WebBrowser x:Name="MainBrowser" Visibility="Visible" Panel.ZIndex="0" />
<Canvas Panel.ZIndex="100" Opacity="0.01"></Canvas>
</Canvas>
谢谢!
不,您不能使用最初随SDK一起提供的WPF WebBrowser。它总是在其他UIElement
之上。
但我认为第三方控制是可能的。
有关详细信息,请参阅我之前提出的这个问题。
不,WPF Webbrowser只是WPF包装器中的标准浏览器控件。它不是本机WPF,因此不尊重WPF应用程序的ZOrder
。
这可以在.NET 4.5中完成。在渲染之前,它需要在
WebBrowser
控件上设置以下属性:
IsRedirected = true
CompositionMode = System.Windows.Interop.CompositionMode.Full
这将启用hwnd重定向,允许用于渲染的普通顶级hwnd重定向到WPF曲面,该曲面可以很好地处理树中的其他元素
编辑:在发布之前,此功能似乎是从.NET 4.5中删除的。如果我给了任何人虚假的希望,我深表歉意。感谢@JoeDaley指出我的错误。