Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在页面的不同区域重复使用Silverlight应用程序吗?_Silverlight_Silverlight 2.0_Reusability - Fatal编程技术网

我可以在页面的不同区域重复使用Silverlight应用程序吗?

我可以在页面的不同区域重复使用Silverlight应用程序吗?,silverlight,silverlight-2.0,reusability,Silverlight,Silverlight 2.0,Reusability,我有一个Silverlight应用程序,我想在网格中显示。Silverlight应用程序显示其内容的方式取决于每个网格行中记录的唯一ID。不幸的是,网格中的每一行都会重新下载XAP文件。对于700KB的大小,这确实会影响性能。是否可以下载一次XAP文件,然后对网格中的每一行重新使用它 我不确定你能不能。理论上,它应该被缓存,但在这种情况下,理论似乎不值得下蹲 这完全取决于标记的各种参数的行为方式,这是silverlight的另一个“稀疏”记录区域。这是可能的,但不容易做到。您可以下载xap并将其

我有一个Silverlight应用程序,我想在网格中显示。Silverlight应用程序显示其内容的方式取决于每个网格行中记录的唯一ID。不幸的是,网格中的每一行都会重新下载XAP文件。对于700KB的大小,这确实会影响性能。是否可以下载一次XAP文件,然后对网格中的每一行重新使用它

我不确定你能不能。理论上,它应该被缓存,但在这种情况下,理论似乎不值得下蹲


这完全取决于标记的各种参数的行为方式,这是silverlight的另一个“稀疏”记录区域。

这是可能的,但不容易做到。您可以下载xap并将其保存到IsolatedStorage,并在每次需要引用缓存xap的silverlight主机时创建一个silverlight主机,但您只有1MB的可用空间,并且如果您有来自同一域的其他silverlight应用程序,则无法保证这一点


考虑到你所描述的,我仍然认为做你想做的事没有任何价值。我认为您的做法是相反的。

一旦下载了XAP,Silverlight将在每个Silverlight控件实例的本地缓存程序集等。如果您创建了Silverlight控件的另一个实例,那么它将拥有自己的域,由它负责

我的建议是把你需要的部分提取出来,烘焙成一个单独的xaml,然后把它们装载到你最需要它们的地方。如果您仍然需要一个central.xap来处理编组/事件管理等,那么在Silverlight 3中,我们已经建立了一个本地连接API,它允许其他Silverlight实例在一个浏览器页面中本地相互通信(即Silverlightha可以在index.html中与SilverlightB通信)

如果愿意的话,这将允许您建立一种本地代理


Scott Barnes/Rich Platform产品经理/微软。

Hmmm。。有趣的实现。为什么要这样做,而不是一个内置网格的SL应用程序?我正在使用在第三方网格控件中添加SL数据可视化控件。SL GridView不太成熟,没有我使用的HTML控件的所有功能。我相信这会随着时间的推移而改变,此时你的建议确实更有意义。另外再看看你的主要XAP。为什么是700mb?你能分辨出图像吗?您正在使用的网格不需要额外的程序集等。。这样,如果您需要多次重复使用它,它将更快更容易保存。