0

我不确定这是否可行,但我目前正在从主应用程序程序集中加载我的大部分模块,我现在正在尝试加载外部 XAP 模块。

我有这样的事情:

ModuleInfo themeModule = new ModuleInfo();
    themeModule.ModuleName = "Theme_External";
    themeModule.ModuleType = "Theme_External.Theme_External_Module, Theme_External, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null";
    themeModule.Ref = "file://Theme_External.xap";
    themeModule.InitializationMode = InitializationMode.OnDemand;
    catalog.AddModule(themeModule);

然后我意识到您不能使用该引用,因为它使用 Silverlight 中不可用的本地文件访问。这对我有用的唯一原因是我直接引用了我需要删除的主题项目。我想将它指向http://localhost/Theme_External.xap或稍后的远程 Web 地址。

这是我可以用当前的 PRISM 设置做的吗?

谢谢你的时间

4

2 回答 2

2

戴夫说的...

如果不明显,您需要进行的唯一更改(假设您的 xap 文件位于同一目录中)是将 ref 属性设置为:

themeModule.Ref = "Theme_External.xap";

如果相对 url 位于低于您的 shell xap 文件的目录中,则相对 url 将起作用。如果没有,您将需要绝对网址。

于 2009-10-22T20:38:22.167 回答
1

只要 XAP 文件与主应用程序在同一个域中,您就可以按需下载它们。这里有一篇关于 Silverlight 中动态数据交付的综合文章。

如果要下载托管在不同域上的 XAP 文件,则必须在该域上具有跨域策略文件

于 2009-10-19T15:49:27.350 回答