2017-06-05 4 views
1

各TabItemには、www.google.comや任意のxbap UIのようなURLを表示できるWebBrowserコントロールが含まれているTabControl(InfragisticTabControlを使用)があります。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が表示されません。私はMyOverlayGridのPanel.ZIndexを更新しようとしました。

myBrowserの可視性を非表示(私はスヌープを使用)に設定してから、私はMyOverlayGridを見ることができました。

私は何か間違ったことをしているのか、何か明白なものがないのか誰にでも教えていただけますか?これは、コンテンツコントロールのためにうまくいきます。タブコントロールの新しいアプリケーション(InternetExplorer.exeまたはPresentationHost.exe)が開始されて以来、WebBrowserコントロールでは不可能なことがありますか?私は間違って何かをやったり何かを明らかに不足していた場合

おかげで、

RDV

+1

これは、有用なリンクをお寄せいただきありがとうございます。https://stackoverflow.com/questions/1527667/overlay-for-webbrowser-control-in-wpf-application – Akansha

+0

@Akanshaそれは私を助けた – RDV

答えて

1

は誰も教えてもらえますか?

後者は私が恐れている。 WebBrowserコントロールは、という別のHWNDでホストされています。これは、MSDN:https://msdn.microsoft.com/en-us/library/ms744952(v=vs.110).aspxのドキュメントに記載されているように、常にがWPF要素の上に描画されます。

PopupGridを置くなどの回避策を適用する以外に、これについては何もできません。

Chromiumのような他のサードパーティのWebBrowserコントロールを使用することを検討してください。

+0

ありがとう@ mm8、私は空域の問題を認識していませんでした。私はこれを修正するポップアップコントロールを使用しています。 – RDV