我有一个Silverlight应用程序,我想在网格中显示。 Silverlight应用程序显示其内容的方式取决于每个网格行中记录的唯一ID。不幸的是,为网格中的每一行重新下载了XAP文件。它的大小为700KB,这确实会影响性能。是否可以下载XAP文件一次,然后只为网格中的每一行重复使用它?
答案 0 :(得分:1)
下载XAP后,Silverlight将在每个Silverlight控件实例的本地缓存程序集等。如果你创建了Silverlight控件的另一个实例,那么这反过来又有它自己的域,它依次会照顾它。
我的建议是抽出您需要的部分并将它们烘焙成单独的xaml,然后将它们装入您最需要它们的区域。如果您仍然需要中央.xap来处理编组/事件管理等,那么在Silverlight 3中我们已经实现了一个Local Connection API,允许其他Silverlight实例在本地的一个浏览器页面中相互通信(即SilverlighA可以在index.html内与SilverlightB交谈)
如果愿意,这可以让你建立一种本地代理。
Scott Barnes / Rich Platforms产品经理/ Microsoft。
答案 1 :(得分:0)
我不确定你能不能。从理论上讲,它应该被缓存,但在这种情况下理论似乎不值得蹲下。
这完全取决于<对象>标签表现出各种各样的参数,这是另一个“稀疏”记录的silverlight区域之一。
答案 2 :(得分:0)
这可能但不容易。您可以下载xap并将其保存到IsolatedStorage并在每次需要引用缓存的xap时创建一个silverlight主机,但您只有1MB可用空间,如果您有来自同一域的其他silverlight应用程序,则无法保证。 / p>
鉴于你所描述的内容,我仍然认为做你想做的事情没有任何价值。我认为你倒退了。