2009-07-13 81 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