以下是JavaScript中的解决方案。首先,创建这个函数:
<script type="text/javascript">
function resizeSLHost()
{
var docHeight = document.body.offsetHeight;
var pluginHeight = docHeight - 130;
var slplugin = document.getElementById("silverlightControlHost");
slplugin.style.height = pluginHeight + "px";
}
</script>
然后,在你口主体标记,你说:
<body onload="resizeSLHost()" onresize="resizeSLHost()">
你Silverlight的主机格之前把你的头股利的权利:
<div id="header" style="height:130px"></div>
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2" type="application/x-silverlight-2" width="100%" height="100%">
// the usual stuff here...
</object>
<iframe style='visibility:hidden;height:0;width:0;border:0px'></iframe>
</div>
当然,您在resizeSLHost()中从docHeight中减去的数字必须等于标头div的高度。
这在IE 7和Firefox 3.0.4中适用于我。
我试过了,但100%高度似乎意味着包含元素的高度的100%,而不是包含元素的高度减去标题div的100%。所以最终的结果是一个垂直滚动条,因为Silverlight控件太大,正好是标题div的高度。 – 2008-12-03 21:58:53