WPF:如何在弹出窗口中自动调整 WebBrowser 的大小?

Posted

技术标签:

【中文标题】WPF:如何在弹出窗口中自动调整 WebBrowser 的大小?【英文标题】:WPF: How to auto-size WebBrowser inside a Popup? 【发布时间】:2013-04-03 04:03:50 【问题描述】:

我有一个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】:

解决办法如下:

<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;

【讨论】:

以上是关于WPF:如何在弹出窗口中自动调整 WebBrowser 的大小?的主要内容,如果未能解决你的问题,请参考以下文章

layui弹出层layer过大被遮挡解决办法-resize事件自动调整

如何去掉Word自动编号的空格以及编号10以后的空格

WPF 弹出窗口捕获鼠标双击事件

WPF 窗口中的可拖动和自动调整用户控件

电脑屏幕护眼最佳设置

如何在弹出窗口中添加“过渡”