我有一个 silverlight 应用程序,我希望它能够像常规 HTML 页面一样调整大小。也就是说,我希望 silverlight 插件的大小在高度上扩展和收缩,以适应我在 silverlight 应用程序中填充的动态数据和控件。所以,假设我有一个带有网格和按钮的页面。用户按下按钮,网格得到一堆带有图像的行,使网格的自然大小高于浏览器窗口。我想有一些东西来调整silverlight插件的大小以适应网格的DesiredSize。以下以及其他几种尝试均无效:
// handler in my main page.
void MainGrid_LayoutUpdated(object sender, EventArgs e)
{
HtmlPage.Window.Invoke("setSilverlightSize", this.MainGrid.DesiredSize.Height);
}
<body style="height:100%;margin:0;">
<form id="mainForm" runat="server" style="height:100%;">
<asp:ScriptManager ID="ScriptManager" runat="server"></asp:ScriptManager>
<div id="SilverlightContainer" style="height:100%;">
<asp:Silverlight ID="SLMain" runat="server" Source="~/ClientBin/My.Silverlight.Main.xap" Version="2.0" Width="100%" Height="100%" />
</div>
</form>
<script type="text/javascript">
function setSilverlightSize(val) {
var host = document.getElementById("SilverlightContainer");
host.style.height = val + "px";
}
</script>
</body>
MainGrid 的所需大小总是希望是窗口的大小。海盗说。
-r