【问题标题】:WPF WebBrowser in TabItem not showingTabItem 中的 WPF WebBrowser 未显示
【发布时间】:2017-06-19 15:41:52
【问题描述】:

我正在使用 WPF,需要使用多个选项卡填充动态生成的 TabControl。

我在使用 WebBrowser 元素时遇到问题,它似乎可以成功导航(当我悬停在不同的元素上时,我可以看到鼠标改变了光标),但浏览器只显示白色。

我的代码如下:

WebBrowser browser = new WebBrowser();
TabItem aTabItem = new TabItem() { Header = "My Tab", Width = 180, FontSize = 16, Content = (browser as WebBrowser) };

(Form.FindName("MyTabControl") as TabControl).Items.Add(aTabItem);
(Form.FindName("MyTabControl") as TabControl).SelectedItem = aTabItem;

browser.NavigateToString("http://www.google.com");

所以基本上我创建了 TabItem,将 WebBrowser 添加到它,将 TabItem 添加到 TabControl,它将保存所有创建的选项卡。

当我尝试这个时,没有显示 WebBrowser。如果我把它换成带有一些文本的标签,标签会很高兴地出现。

你能给我一些建议吗? 谢谢

【问题讨论】:

  • 前段时间我也遇到过类似的问题,但不完全相同,但我在某处找到了一些帮助者,说先调用 browser.Navigate("about:blank"); 然后再进行主导航会有所帮助。
  • 如果可以的话,值得一试。让我知道会发生什么
  • 尝试了你的方法,似乎是合理的,因为 WebBrowser 似乎是一个 ActiveX 元素,而不是 WPF 的原生元素,所以可能需要一个踢才能正常工作。不幸的是,它仍然不起作用。
  • 我现在更加困惑,因为我在家里尝试了一种非常相似的方法并且效果很好,我必须给浏览器一个 widthheight 才能显示,但尝试这样做在工作中仍然没有显示浏览器。
  • 很遗憾没有时间进行任何探索,尽管我稍后会看。如果这不是在您的工作环境中工作,而是在您的家中,是否可以像防火墙阻止对您的应用程序的访问一样简单?

标签: c# wpf tabitem


【解决方案1】:

发现问题。我拥有 WebBrowser 的窗口设置为AllowsTransparency="true"。我应该知道的更好...

【讨论】:

  • 有时这是最简单的事情!
【解决方案2】:

这对我有用,

        WebBrowser browser = new WebBrowser();
        TabItem TI = new TabItem() { Header = "My Tab", Width = 180, FontSize = 16, Content = (browser as WebBrowser) };
        tabcontrol.Items.Add(TI);            
        browser.Source= new Uri("http://www.google.com"); 

我使用了WebBrowser 控件的Source。我正在创建Uri

NavigateToString(string text) 像下面的 MSDN

If the text parameter is null, WebBrowser navigates to a blank document ("about:blank").
If the text parameter is not in valid HTML format, it will be displayed as plain text.
After navigation, Source will be null.

【讨论】:

  • 我已经尝试了源但仍然没有显示浏览器。我注意到在一个单独的项目中浏览器需要widthheight,但在我的主项目中仍然无法显示浏览器。
猜你喜欢
  • 2014-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-25
  • 1970-01-01
  • 2013-02-20
  • 2021-01-13
相关资源
最近更新 更多