c# - Silverlight GetElementById IE6

我有一个奇怪的错误,希望你们能够帮助我。

我的Silverlight应用程序中包含以下代码:

private void MainGrid_SizeChanged(object sender, SizeChangedEventArgs e)
{
double actualHeight = this.MainGrid.ActualHeight;
HtmlPage.Document.GetElementById("silverlightControlHost").SetStyleAttribute("height", string.Format("{0}px", actualHeight));
} 


基本上,这会调整容器div的大小,使其适合浏览器。在IE7 +,Firefox和Chrome中运行正常。问题在于,在IE6中这无法正常工作。我不确定为什么。

页面标记:

    <style type="text/css">
        #silverlightControlHost
        {
            height: 10px; //This gets resized in Chrome/IE7+/Firefox
            text-align: center;
        }
    </style>

    <script type="text/javascript" src="../Silverlight.js"></script>

</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <div id="silverlightControlHost">
        <object data="data:application/x-silverlight-2," type="application/x-silverlight-2"
            width="100%" height="100%">
            <param name="enablehtmlaccess" value="true"/>
            <param name="source" value="../ClientBin/myAppXap.xap" />
            <param name="onError" value="onSilverlightError" />
            <param name="background" value="white" />
            <param name="minRuntimeVersion" value="3.0.40624.0" />
            <param name="autoUpgrade" value="true" />
            <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration: none">
                <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight"
                    style="border-style: none" />
            </a>
        </object>
        <iframe id="_sl_historyFrame" style="visibility: hidden; height: 0px; width: 0px;
            border: 0px"></iframe>
    </div>
</asp:Content>


有谁知道我如何使它按预期工作?

谢谢,
西蒙

最佳答案

您也必须重新调整对象标签的大小,我只是遇到了同样的问题,我已经签署了onsizechanged事件并更改了容器div的高度和宽度,但是在IE6中却没有用,所以一位同事告诉我在IE6中,您还需要调整对象的大小,因此在标签上放置一个ID,并在此标签上使用它

HtmlPage.Document.GetElementById("objectID").SetStyleAttribute("height", string.Format("{0}px", actualHeight));

本文翻译自 https://stackoverflow.com/questions/1505073/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。

标签 c# asp.net css silverlight internet-explorer-6


相关文章:

c# - 实体框架CTP5,代码优先。通过对象模型帮助创建参考表

c# - DbContext仅在远程服务器上超时

c# - 如何使用适用于Windows 8的Visual Studio Express 2012为Windows XP创建应用程序

c# - Razor,C#,asp.net:如何在@if比较之后显示纯文本行

c# - 如何从另一个.aspx页更新一个.aspx页的div?

c# - WPF内置动态资源

c# - 测量多种方法的执行时间

c# - jQuery对话框立即关闭

c# - XAML中的WPF StringFormat和本地化

c# - 网格列边框UWP