2013-04-11 51 views
1

我有一个PopupWebBrowser里面(见下面的代码)。 WebBrowser有MaxWidth = "800"。我想在加载网站后自动调整WebBrowser的高度到其内容高度,所以它不需要垂直ScrollBar。WPF:如何在Popup中自动调整WebBrowser的大小?

我试过设置Height = "Auto"MaxHeight = "5000",但我没有得到正确的结果。

你能帮我怎么做吗?非常感谢你!

<Popup Name="popup1" VerticalOffset="3"> 
     <Border BorderThickness="1"> 
      <DockPanel> 
       <ScrollViewer MaxHeight="700" VerticalScrollBarVisibility="Auto"> 
        <WebBrowser Name="wb1" MaxWidth="800"/> 
       </ScrollViewer> 
      </DockPanel> 
     </Border> 
    </Popup> 

回答

2

下面是解:

<Popup x:Name="Popup" Width="800"> 
    <Border BorderThickness="1"> 
     <WebBrowser 
      x:Name="WebBrowser" 
      LoadCompleted="WebBrowser_OnLoadCompleted" 
      ... /> 
    </Border> 
</Popup> 

处理程序:

private void WebBrowser_OnLoadCompleted(object sender, NavigationEventArgs e) { 
    this.Popup.Height = (int) (this.WebBrowser.Document as dynamic).body.scrollHeight + 20; 
}