2012-02-09 41 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

相關問題