【问题标题】:Silverlight display problemSilverlight 显示问题
【发布时间】:2008-10-01 09:05:20
【问题描述】:

我创建了一个不错的 silverlight 控件,它完全按照我的意愿去做,它看起来很棒 :) 当我将它托管在测试项目 ASPX 示例文件或 HTML 示例文件中时,它会很好地显示出来。

我现在必须在我现有的 ASP.NET 2.0 项目中使用该控件,该项目具有精美的设计。我遇到的问题是控件没有准确显示它应该如何显示:

  • 加载进度不显示
  • 在我将鼠标移到包含控件的 aria 上之前,控件通常不会变得可见

很明显,这是我的 HTML/CSS 设计造成的,但查找问题将非常耗时 - 那么有人知道这方面的知识吗?关于如何确保控件正确显示的规则是什么?应该使用哪些 CSS 属性?

PS:因为我有一个 2.0 的应用程序,所以我对 Silverlight 使用对象标记方法,它包含在一个 DIV 中,并在样式中设置了高度和宽度。

请求了代码 sn-p。是这样的(基本上是 silverlight 测试项目的 HTML 测试页的副本(完美运行)):

<div id="silverlightControlHost" style="height: 300px; width: 750px;">
    <object data="data:application/x-silverlight," type="application/x-silverlight-2-b2"
    width="100%" height="100%">
    <param name="source" value="Contiki.SilverLight.FileUploader.xap" />
    <param name="onerror" value="onSilverlightError" />
    <param name="background" value="white" />                            
    <a href="http://go.microsoft.com/fwlink/?LinkID=115261" style="text-decoration: none;">
        <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight"
        style="border-style: none" />
    </a>
    </object>
    <iframe style='visibility: hidden; height: 0; width: 0; border: 0px'></iframe>
</div>

此 DIV 包含在表格中的一个单元格中,这也是更大设计的一部分。如上所述,有很多 CSS。不知道有没有帮助...

【问题讨论】:

    标签: css silverlight


    【解决方案1】:

    自己找到了原因……

    原来Silverlight在将控件放在html表格中时出现了显示问题。 Found information about this on the silverlight forum。是关于beta 2的,但是我已经升级到release版本了,还是有问题。

    试试这个。添加高度和宽度 包含 Silverlight 的表 控制。您可能还想添加一个 内部空白的单个字符 包含控件的 TD。

    基本上是在渲染表格的时候 它无法“看到” 内容,所以它要么没有呈现在 全部或仅呈现为 a 的大小 单个空格字符。

    -- 约翰斯托克顿

    我的设计对于嵌套表来说非常复杂,所以我实际上还不能让它工作。

    更新:

    我最终实现的实际修复是一个“刷新”包含

    的小型 JavaScript。这里是:
    <script type="text/javascript">
        function refreshSL()
        {
            var div = document.getElementById('silverlightControlHost');
            div.style.display = 'block';
        }
        refreshSL();
    </script>
    

    我将它放在我的 HTML 中实际 SL 标记下方,然后它就起作用了(我想在页面加载事件中调用它是正确的做法。

    【讨论】:

      【解决方案2】:

      CSS 问题有时很难调试。不同浏览器中的行为是否相同?您的 CSS 在任何地方都使用“float”吗?应用程序是否在表格外的同一页面上正常工作,然后在 div 外工作?

      【讨论】:

        【解决方案3】:

        正如亚当所说,CSS 问题是一个真正的 PITA。通常,当我遇到这样的事情时,我首先指向一个空白 CSS 而不是“花哨”的 CSS,然后开始重新添加样式,直到我能够重现该问题。

        【讨论】:

          【解决方案4】:

          哈哈

          我遇到了同样的问题,这让我很生气。该问题被隔离到 Internet Explorer。在所有其他浏览器(甚至 Opera)中都能正常工作。

          您的解决方案肯定是一个 hack。由于这实际上是针对 IE 中的错误的一种解决方法,因此您可以正式摆脱它。

          从技术上讲,我们不应该使用表格进行布局,但在现实世界中,这是让事情跨浏览器一致工作的唯一方法。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多