2008-10-01 67 views
0

我創建了一個漂亮的Silverlight控件究竟做什麼,我想要它做的,它看上去很不錯:)當我主持它在測試項目ASPX樣本文件或將其很好地展示了HTML樣本文件。Silverlight的顯示問題

我現在必須使用控制在我現有的ASP.NET 2.0項目,其中有一個花哨的設計。我遇到的問題是,控制不出現究竟應該如何:

  • 加載進度不顯示
  • 控制通常不會成爲可見之前我搬過來​​我的鼠標它包含的詠歎調

很明顯,這與我的HTML/CSS設計造成這種情況是一回事,但找到問題會非常耗時 - 所以任何人都有這方面的知識嗎?有關如何確保控件正確顯示的規則是什麼?應該使用哪些CSS屬性?

PS:因爲我有一個2.0的應用程序,我可以使用對象標記方法Silverlight以及它包含在用高度和寬度樣式設置一個DIV。

請求了代碼段。這件事情是這樣的(基本上是從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。不知道如果這能幫助...

回答

3

找到了癥結自己...

原來,當控制被放置在一個HTML表格Silverlight有一個顯示問題。 Found information about this on the silverlight forum。這是關於測試版2,但我已升級到發佈版本,它仍然是一個問題。

試試這個。向包含Silverlight 控件的表添加一個高度和寬度爲 。您可能還想在包含控件的TD中添加 單個字符的空白空間 。

基本上當表被渲染 它不能「看」的 內容的大小,因此既沒有在 全部或只呈現給 單一的空白字符的大小呈現。

約翰 - 斯托克頓

我的設計是嵌套的表格比較複雜,所以我並沒有實際能夠讓它工作還沒有。

UPDATE:

我最終實現實際的修復是一個小的JavaScript 「刷新」 含有<DIV>。那就是:

<script type="text/javascript"> 
    function refreshSL() 
    { 
     var div = document.getElementById('silverlightControlHost'); 
     div.style.display = 'block'; 
    } 
    refreshSL(); 
</script> 

我把這個在實際SL標記下面我的HTML,然後它的工作(我猜調用它的網頁加載事件,將是正確的事情

+0

嗯,我想我能接受我自己的答案:( – 2008-10-22 13:11:51

0

CSS問題可能很難調試的時候。在不同的瀏覽器中行爲是否相同?你的CSS在任何地方使用「float」嗎?該應用程序是否可以在表格之外的同一頁面上正常工作,然後在div之外?

0

正如亞當說,CSS問題是一個真正的PITA。通常,當我遇到類似這樣的情況時,我首先指向一個空白的CSS而不是「花哨的」,然後開始添加樣式直到我能夠重現問題。

0

LOL。

我有完全相同的問題,這是推動我瘋了,但問題是隔離到Internet Explorer。適用於所有其他瀏覽器(甚至是歌劇)的罰款。

您的解決方案是肯定的黑客攻擊。由於這真的是一個解決IE中的錯誤的工作,你可以正式得到一個與它的方式。

從技術上說,我們不應該使用表格進行佈局,但在現實世界中,這是使事物持續工作以跨瀏覽器工作的唯一方法。