2012-02-09 54 views
2

我想把WPF WebBrowser的一些UIElement(不透明度= 0)即,并通过这个覆盖UIElement捕获所有点击事件。是否有可能将WPF WebBrowser与其他UIElement重叠?

可以吗?

此代码不能正常工作......

<Canvas Name="cnsMain"> 
    <WebBrowser x:Name="MainBrowser" Visibility="Visible" Panel.ZIndex="0" /> 
    <Canvas Panel.ZIndex="100" Opacity="0.01"></Canvas> 
</Canvas> 

谢谢!

+1

似乎微不足道的尝试。你是否? – Will 2012-02-09 14:57:55

+0

[我怎样才能把WebBrowser显示在我的控制之后?](http://stackoverflow.com/questions/9039593/how-can-i-put-webbrowser-display-behind-my-control) – EricLaw 2014-02-27 13:44:29

回答

3

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

5

不,您不能使用最初随SDK提供的WPF WebBrowser。 它始终在其他UIElement之上。

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

详情看看this question我问过。

1

这可以在.NET 4.5中完成。它需要之前设置你的 WebBrowser控制 以下属性它是不断呈现:

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

这将使HWND重定向,允许用于渲染正常顶级HWND被重定向到一个WPF的表面,可以与树中的其他元素发挥很好。

编辑:看起来这个功能在发布之前被推出.NET 4.5。如果我给任何人虚假的希望,我很抱歉。感谢@JoeDaley指出我的错误。

+0

谢谢分享你的答案! – 2013-11-12 18:58:12

+2

这些属性在哪里?它们并不存在于我的.NET 4.5 WebBrowser控件中,并且我可以在网上搜索的所有内容都是2012年以来发布的关于这些属性在最终发布前如何从.NET 4.5中移除的帖子。 http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2644120-bring-back-the-hwndhost-isredirected-and-compositi – 2014-02-27 02:21:01

+0

@JoeDaley哎呀,这似乎你是正确的。有趣的是,直到现在,没有人抓住这个。 – 2014-02-27 13:40:20

相关问题