c# - 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 未呈现为其内容大小。
无论实际内容大小如何,所有网络浏览器都在堆栈面板中占用相同数量的空间。
当前输出屏幕截图 2 号和 3 号 Web 浏览器没有占用所需的空间来呈现内容。
似乎 Webbrowser 控件没有向堆栈面板提供有关其内容大小的正确信息。
鉴于此,Web 浏览器会按照其内容大小呈现,我想避免在 Web 浏览器级别使用滚动条。
非常感谢任何帮助。谢谢你。
解决方案
WebBrowser 控件不支持此功能。但是,您可以手动获取内容大小和调整大小控件,如本线程所示:https ://stackoverflow.com/a/40795036/12797700
推荐阅读
- c - 从字符串指针 C 获取更新的值
- html - 如何将数据从 Node.js 服务器发送到 HTML 文档?
- svn - SVN - 使提交在历史中不可见
- asp.net - 无法打开数据库。用户“NT AUTHORITY\NETWORK SERVICE”登录失败
- html - 使用 xpath 提取类属性
- r - 用连续数字替换矩阵的一列
- c - 如何使函数对象右侧的两个函数相加?
- java - 当我从命令行运行 Main 时,Java 在同一个包中找不到类
- python - Python将列表转换为列表列表
- javascript - 表单输入字段必填属性在 Google 应用脚本 HTML Web 应用中不起作用