Silverlight GetElementById IE6 - PullRequest
       7

Silverlight GetElementById IE6

2 голосов
/ 01 октября 2009

У меня странная ошибка, с которой вы, ребята, сможете помочь мне.

У меня есть этот код в моем приложении 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>

У кого-нибудь есть идеи, как я могу заставить это работать по желанию?

Спасибо, Simon

1 Ответ

1 голос
/ 26 октября 2009

Вы также должны изменить размер тега объекта, у меня была та же проблема, я подписал событие onsizechanged и изменил высоту и ширину контейнера div, однако в IE6 это не сработало, работник сказал мне, что в IE6 вам также нужно изменить размер объекта, поэтому поместите идентификатор в свой тег и используйте его на этом

HtmlPage.Document.GetElementById("objectID").SetStyleAttribute("height", string.Format("{0}px", actualHeight));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...