WPF:如何在Popup中自动调整WebBrowser的大小?

时间:2013-04-11 04:16:12

标签: wpf popup browser height autosize

我的Popup内有WebBrowser(请参阅下面的代码)。 WebBrowser有MaxWidth = "800"。我希望在加载网站后将WebBrowser的高度自动调整为其内容高度,因此它不需要垂直ScrollBar。

我尝试设置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>

1 个答案:

答案 0 :(得分: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;
}