StackPanel中的WebBrowser不会在WPF中扩展到其内容大小

时间:2020-05-08 21:18:46

标签: c# wpf

我必须在一个窗口中显示多个HTML内容。这些数据以字符串形式出现。每个字符串代表一个HTML文件数据。

我正在使用Web浏览器控件和Stackpanel布局将它们显示在单个窗口上。


    <Grid >
                <ScrollViewer  VerticalScrollBarVisibility="Auto">
                            <StackPanel Background="YellowGreen">
                                <WebBrowser Margin="5" Loaded="WebBrowser_Loaded"/>
                                <WebBrowser Margin="5" Loaded="WebBrowser_Loaded" />
                                <WebBrowser Margin="5" Loaded="WebBrowser_Loaded" />
                            </StackPanel>
                        </ScrollViewer>


    private void WebBrowser_Loaded(object sender, RoutedEventArgs e)
            {
                WebBrowser web = sender as WebBrowser;
                web.NavigateToString(VM.HtmlContent);
            }

问题:Web浏览器未呈现为其内容大小。
无论实际内容大小如何,所有Web浏览器在堆栈面板中都占用相同的空间。

Current Output Screenshot Web浏览器2nd和3rd尚未占用所需的空间来呈现内容。

似乎Webbrowser控件没有向堆栈面板提供有关其内容大小的正确信息。

鉴于此,Web浏览器已呈现其内容大小,所以我想避免在Web浏览器级别使用滚动条。

我们非常感谢您的帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

WebBrowser控件不支持此功能。但是,您可以手动获得内容大小和调整大小的控件,如以下线程所示:https://stackoverflow.com/a/40795036/12797700