2009-10-19 81 views
0

我不確定這是否可能,但我目前正在從主應用程序程序集中加載大部分模塊,現在我試圖加載外部XAP模塊。Silverlight PRISM加載外部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中,你不能使用該REF。這爲我工作的唯一原因是我直接參考了我需要刪除的主題項目。我想指出http://localhost/Theme_External.xap或稍後的遠程網址。

這是我可以用當前的PRISM設置嗎?

感謝您的時間

回答

1

可以,只要他們是在同一個域中的主要應用需求下載XAP文件。有一篇關於Silverlight的動態數據交付的綜合文章here

如果要下載託管在其他域上的XAP文件,則必須在該域上有Cross-Domain Policy file

2

戴夫說...

並在情況下,它並不明顯,唯一的變化你需要做(假設你的XAP文件在同一目錄)是設置裁判屬性到:

themeModule.Ref = "Theme_External.xap"; 

如果相關URL位於低於您的shell xap文件的目錄中,它將工作。如果不是,則需要絕對網址。

相關問題