是否可以将WPF WebBrowser与其他UIElement重叠?

时间:2012-02-09 14:53:52

标签: c# .net wpf uielement

我想将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>

谢谢!

3 个答案:

答案 0 :(得分:5)

不,您不能使用最初附带SDK的WPF WebBrowser。 它始终位于其他UIElement之上。

但我认为第三方控制是可能的。

有关详细信息,请查看我之前询问的this question

答案 1 :(得分:3)

不,WPF Web浏览器只是WPF包装器中的标准浏览器控件。它不是本机WPF,因此不尊重WPF应用程序的ZOrder

答案 2 :(得分:1)

这可以在.NET 4.5中完成。它需要在WebBrowser控件之前设置以下属性才能呈现:

IsRedirected = true
CompositionMode = System.Windows.Interop.CompositionMode.Full

这将启用hwnd重定向,允许将用于渲染的普通顶级hwnd重定向到WPF表面,该表面可以与树中的其他元素一起使用。

编辑:在发布之前,似乎此功能已从.NET 4.5中删除。如果我给了任何虚假的希望,我道歉。感谢@JoeDaley指出我的错误。

相关问题