StackPanel中的WebBrowser不会在WPF中扩展到其内容大小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StackPanel中的WebBrowser不会在WPF中扩展到其内容大小相关的知识,希望对你有一定的参考价值。
我必须在一个窗口上显示多个html内容。这些数据以字符串形式出现。每个字符串代表一个HTML文件数据。
我正在使用Webbrowser控件和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);
问题:Webbrowser无法呈现为其内容大小。无论实际内容大小如何,所有Web浏览器在堆栈面板中都占用相同的空间。
Current Output ScreenshotWeb浏览器2nd和3rd尚未占用所需的空间来呈现内容。
似乎Webbrowser控件没有向堆栈面板提供有关其内容大小的正确信息。
鉴于Web浏览器已呈现其内容大小,我想避免在Web浏览器级别使用滚动条。
非常感谢您的帮助。谢谢。
答案
WebBrowser控件不支持此功能。但是,您可以手动获得内容大小和调整大小的控件,如以下线程所示:https://stackoverflow.com/a/40795036/12797700
以上是关于StackPanel中的WebBrowser不会在WPF中扩展到其内容大小的主要内容,如果未能解决你的问题,请参考以下文章
WPF 中的 StackPanel 和 DockPanel 有啥区别?