WPF WebBrowser-Control无法显示内容。

3
在我的WPF应用程序中,我使用WebBrowser-Control来显示Web内容。我通过Google搜索进行测试。以下是一些源代码:

<Canvas x:Name="LayoutRoot" Background="White">
       <WebBrowser x:Name="browser"
                            Width="494"
                            Height="293"
                            Canvas.Left="3"
                            Canvas.Top="162"/>

</Canvas>

public EventSide()
{
    InitializeComponent();
    browser.Navigate(new Uri("http://www.google.de/"));
}

现在问题取决于以下几点: WebBrowser控件的内容完全为空。我用鼠标悬停在WebBrowser控件上,顶部会发生变化,鼠标光标变成文本光标,并且我会得到一个名为“搜索”的工具提示。这是来自Google页面的搜索字段。这意味着通过我的WebBrowser控件可以从Web获取信息,但显然无法显示。
在我的主窗口中,我将AllowsTransparency属性设置为“True”。如果我将其重置为“False”,则内容将显示在我的Web浏览器元素中。由于我需要单独的窗口设计,因此我依赖AllowsTransparency属性。
是否有人遇到过同样的问题并提出了解决方案?
1个回答

8
我猜当你调用导航时,WebBrowser控件未加载,请尝试以下方法。
public EventSide()
{
    InitializeComponent();
    browser.Loaded += delegate
    {
        browser.Navigate(new Uri("http://www.google.de/"));
    }
}

编辑

请注意,WebBrowser是一种旧式(我猜是COM)控件,不支持样式、动画和AllowTransparency...

有关详细信息,请参见此处

我认为唯一的解决方案是使用第三方浏览器,例如WPF 3D Chromium Browser,如果您确实需要它

希望这能帮到您


1
感谢您的帖子。不幸的是,它并没有帮助到我。我还尝试使用按钮处理程序,在我的WebBrowser控件中加载一个新页面。即使这样也不起作用。当我将MainWindow中的AllowsTransparency属性重置为“False”时,它才能正常工作。 - Matapolo
请尝试使这个示例 http://blogs.msdn.com/b/wpfsdk/archive/2008/08/18/wpf-webbrowser-control-sample.aspx 工作。 - Arsen Mkrtchyan
感谢您的帮助。您的示例运行。当我将窗口属性“AllowsTransparency”设置为true时,我遇到了同样的问题。内容不可见。 - Matapolo
我有完全相同的问题。你有找到解决方案吗? - user3260977
你尝试订阅事件了吗? - Arsen Mkrtchyan
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接