以下是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