具有动态高度的Silverlight

pto*_*son 5 silverlight height

我有一个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>
Run Code Online (Sandbox Code Playgroud)

MainGrid的所需大小始终希望是窗口的大小.阿格说海盗.

-r

mar*_*kti 2

  1. 将溢出设置为“自动”
  2. 将滚动设置为“否”
  3. 将边距设置为“0”
  4. 将包含的 div 的宽度和高度设置为“100%”
  5. 将 Silverlight 控件的宽度和高度设置为“100%”

这应该涵盖你的所有基础。请参阅下面的一些 HTML 示例。

尝试这个:

<style type="text/css"> 
html, body { overflow:auto } 
</style>
<head>
    <title>My App</title>
</head>
<body id="bodyId" style="margin:0;" scroll="no">
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
         <div style="position: fixed; height: 100%; width: 100%">
            <avn:Silverlight 
                ID="xamlHost" 
                runat="server" 
                Source="~/ClientBin/THE.xap" 
                MinimumVersion="x.x.xxxxx" 
                Width="100%" 
                Height="100%" 
                />
         </div>
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)