wpf usercontrol中的WebBrowser控件没有显示任何内容

时间:2015-01-03 14:13:03

标签: wpf user-controls webbrowser-control

我的wpf应用程序中有一个用户控件。在这个用户控件里面我有网页浏览器控制。

当我导航到某个网页时,它没有显示任何内容。我可以看到http调用正在发生,并且Web浏览器控件的导航事件正在触发。但没有任何东西出现。

任何帮助都将不胜感激。

XAML看起来像这样

<UserControl 
   x:Class="Client.Module.LmpView" 
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  
   xmlns:d="http://schemas.microsoft.com/expression/blend/2008"  
   mc:Ignorable="d" 
   DataContextChanged="UserControl_DataContextChanged" 
   xmlns:module="clr-namespace:Client.Module" 
   xmlns:WinForms="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms">
   <!--
   <StackPanel>
      <WindowsFormsHost x:Name="wfh" Width="400" Height="400"/>
   </StackPanel>
   -->
   <TextBlock>
      <WebBrowser Width="400"  Height="400" Navigated="LinkedInProfileDisplayControl_Navigated"  x:Name="LinkedInProfileDisplayControl"  AllowDrop="True"  />
   </TextBlock>
</UserControl>

文件背后的代码

private void UserControl_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
{
    if (this.DataContext != null)
    {
        LinkedInProfileDisplayControl.Navigate((this.DataContext as LinkedInMemberProfileViewModel).LinkedInMemberProfileUrl);
    }
}

1 个答案:

答案 0 :(得分:0)

尝试以下任何一项:

1)确保在任何地方都没有AllowsTransparency="true"

2)查看LinkedInProfileDisplayControl.Navigate("http://google.com")是否有效

3)确保WebBrowser实际显示,设置其Visibility=Visible

4)当您从导航事件中分离时,看它是否有效。

5)使用snoop检查可视树。