当前位置: 代码迷 >> Silverlight >> WPF中显示Html,总是在最下面,遮住所有的控件
  详细解决方案

WPF中显示Html,总是在最下面,遮住所有的控件

热度:867   发布时间:2013-02-26 00:00:00.0
WPF中显示Html,总是在最上面,遮住所有的控件
如题。。在wpf里显示html, 用 frame, webbrowser, 可是html部分会遮住它上面的所有控件。。请问怎么解决?
------解决方案--------------------------------------------------------
这是因为webbrowser继承于ActiveXHost,ActiveXHost有继承自HwndHost,通过Msdn可以知道HwndHost 将显示在同一顶级窗口中的其他 WPF 元素的上边.

frame如果用于导航xaml可以正常显示上边的,但在导航http url时又做了特殊处理,有兴趣研究下.

这是Navigate方法的部分代码

 if (this.ShouldDelegateXamlViewerNavigationToBrowser(navInfo, a))
    {
        try
        {
            this.DelegateToBrowser(newRequest is PackWebRequest, a);
            goto Label_016E;
        }
        finally
        {
            this.ResetPendingNavigationState(NavigationStatus.Idle);
        }
    }


------解决方案--------------------------------------------------------
不是很明白你的问题。HTML被嵌套,然后遮挡了父控件?

可以设置多个布局控件使用Margin控制位置,避免遮挡。
------解决方案--------------------------------------------------------
答非所问了。

同一窗口是不可能了,可以用浮动窗口做做看,但效果不一定好。
------解决方案--------------------------------------------------------
不好意思把你的帖子挤下来了,再帮你顶回去...

------解决方案--------------------------------------------------------
引用:
纠结了几天 终于找到一个第三方解决方法

http://chriscavanagh.wordpress.com/2009/08/25/a-real-wpf-webbrowser/


谢谢分享解决方法。
------解决方案--------------------------------------------------------
你好,我现在也正遇到了这个问题问题,折腾了很久还是未解决。希望你能帮帮我。我的QQ:86221294
  相关解决方案