2009-07-13 115 views
2

我有一個Silverlight 2.0應用程序,它將一個列表框綁定到一個包含BitMap屬性(用於導航)的類的集合。我都將這些圖像作爲內容包含在XAP中,並手動創建了BitMap並將其設置爲控件源,並且我還將這些圖像作爲資源嵌入到DLL中,並從manifestresourcestream中獲取圖像並設置圖像。當使用Silverlight 2.0插件顯示XAP時,這兩個路徑都很好用,因此我知道我的映像正在正確部署。不幸的是,在使用Silverlight 3.0插件的計算機上查看時,這些方法都不在列表框中顯示圖像。Silverlight 2.0綁定到圖像與Silverlight 3.0

請注意,只有綁定發生在Listbox的ItemTemplate中時纔會出現此問題。如果我在列表框外設置相同的屬性,它似乎可以找到圖像並且工作正常。

任何想法2.0和3.0之間的ListBox綁定有什麼改變?我確實在機器上構建了Silverlight插件的3.0.40307,我可以重現錯誤。

-Kevin

+0

有一些變化在兩個列表框和DataGrid(我從DataGrid那些苦難目前)結合。我不知道具體發生了什麼變化導致這些災難,但我想至少承認你的痛苦。 – 2009-07-13 14:51:45

回答

1

好......找到了解決辦法(由於在Silverlight中板一些幫助):

首先,它僅適用於Silverlight的3.0插件充分釋放。這造成了一個奇怪的問題(如下所述)。其次,我不得不直接從綁定切換到Image或Bitmap類,而是使用一個Imagesource類(可以通過傳遞給構造函數的Bitmap輕鬆實例化)。足夠簡單...不知道爲什麼這是SL 3.0所需的但不是2.0,但它打破了我的代碼。我的代碼仍然是針對2.0插件編寫和編譯的,只是在擁有它的計算機上運行3.0插件。

這給我帶來了一個奇怪的問題......我有可用於測試的SL 2.0,SL 3.0(Beta)和SL 3.0(完整版)的VM或臺式機。我的插件現在可以在SL 2.0和SL 3.0(完整版)中正常工作,但在SL 3.0(Beta)中無法正常工作。我沒有得到任何警告,並打開罰款,只是我的圖像不綁定。所以我擔心的是,一些面向開發人員/技術的人員將擁有3.0的beta版,它仍然運行2.0插件,因爲它是向後兼容的。他們不會因爲任何原因被迫升級來運行我的網站。

如果您有任何可以在這裏找到這些環境中是有問題的網站的鏈接:http://stlouisdayofdotnet.com/DayOfDotnet.html