通常のHTMLページのようにサイズを変更できるSilverlightアプリがあります。つまり、Silverlightプラグインのサイズを拡大および縮小して、Silverlightアプリに入力する動的データとコントロールに対応する必要があります。つまり、グリッドとボタンのあるページがあるとします。ユーザーがボタンを押すと、グリッドは画像を含む一連の行を取得し、グリッドの自然なサイズをブラウザウィンドウよりも大きくします。グリッドのDesiredSizeに対応するために、Silverlightプラグインのサイズを変更するための何かを用意したいと思います。以下、および他のいくつかの試みは機能していません。
// 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