2017-06-05 180 views
1

我有一個TabControl(使用InfragisticTabControl),其中每個TabItem都包含WebBrowser控件,我可以在其中顯示諸如www.google.com或任何xbap UI之類的URL。Overlay WebBrowser控件

下面是TabItem的代碼:

<Grid> 
    <WebBrowser x:Name="myBrowser" 
      webHelper:WebBrowserHelper.BrowserSource="{Binding XBAP_URI}" 
      Height="Auto"/> 

    <Grid Name="MyOverlayGrid" Background="LightGray" Opacity="0.5" 
      Visibility="{Binding Path=IsEnabled, Converter={StaticResource BoolToVisible2}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type igDock:ContentPane}}}"> 
     <TextBlock Text="User does not have permissions for this application" FontSize="24"/> 
    </Grid> 
</Grid> 

我使用窺探能見度結合正確得到填充驗證,但我沒有看到myBrowser控制MyOverlayGrid。我什至試圖更新Panel.ZIndex MyOverlayGrid,沒有幫助。

唯一有用的是將myBrowser可見性設置爲隱藏(我使用snoop),然後我可以看到MyOverlayGrid。

任何人都可以告訴我,如果我做的東西不正確或缺少明顯的東西?這適用於內容控件,對於WebBrowser控件可能不適用,因爲它在標籤控件中啓動新應用程序(InternetExplorer.exe或PresentationHost.exe)?

感謝,

RDV

+1

這可能會幫助你https://stackoverflow.com/questions/1527667/overlay-for-webbrowser-control-in-wpf-application – Akansha

+0

@Akansha,感謝您的有用鏈接。它幫助我 – RDV

回答

1

誰能告訴我,如果我做的東西不正確或缺少明顯的東西?

後者我很害怕。 WebBrowser控件位於單獨的HWND中,它是始終在MSDN上的文檔中所述的WPF元素頂部繪製的:https://msdn.microsoft.com/en-us/library/ms744952(v=vs.110).aspx

除了應用一種解決方法,例如將Grid置於Popup之外,沒有什麼可以做的。

您可能需要考慮使用其他第三方WebBrowser控件,例如Chromium

+0

謝謝@ mm8,我不知道空域問題。我正在使用彈出控件來解決這個問題。 – RDV