在WP中使用WebBrowser时,如果我们将在Xaml中将其高度设为"Auto",你将会发现内容不会被显示出来。 那么怎么样才能做到使其高度能够随内容高度变化而变化呢?下面将会简要列出其方法。
1. 确保将WebBrowser的IsScriptEnabled属性设为true;
2. 为控件添加ScriptNotify事件处理方法:
private void ReadWebView_ScriptNotify(object sender, NotifyEventArgs e)
{
WebBrowser thisBrowser = (WebBrowser)sender;
int height = Convert.ToInt32(e.Value);
double newHeight = height * 1.5;
thisBrowser.Height = newHeight;
}
3. 确保Xaml中WebBrowser的height属性至少为1px,不能为Auto或0;
4. 在调用NavigateToString前确保在要显示的HTML内容中添加如下代码:
"<script type=\"text/javascript\">
window.onload = function () {
var elem = document.getElementById('readabilityBody');
window.external.Notify(elem.scrollHeight + '');
}
</script>"
注: 'readabilityBody' 为HTML元素容器ID。
如此这般,你的WebBrowser就根据其内容能自动调整高度了。
本文介绍如何在Windows Phone的WebBrowser控件中实现内容高度自适应。通过启用脚本支持并监听通知事件,结合特定HTML代码,可以使WebBrowser的高度根据加载的内容自动调整。
3406

被折叠的 条评论
为什么被折叠?



