我在源代码管理下有一个基于PRISM的silverlight解决方案。关于主题我有一个每个主题的项目,例如'Theme_Summer','Theme_Winter'项目。实际上,这些主题项目可能超过30个。每个主题项目都包含一系列资源词典,用于保存样式等以及所需的图像,声音等。
这些项目中的每一个都有一个Main.xaml合并资源字典,它将该主题项目中的所有资源联系在一起。然后我的主应用程序只使用它需要使用的任何主题项目的Main.xaml资源字典。
我遇到的问题是我需要在我的解决方案中使用这些30个左右的主题,因此它们仍然处于源代码控制和可管理状态但是它们都被编译到XAP中,这显然不是很好,因为应用程序部署在某处并且只需要1个主题
我的问题是人们认为什么是合适的方法?为每个主题提供单独的解决方案,以便将其编译为单独的XAP并动态加载,这看起来像很多工作。当它们是同一解决方案的一部分时,有没有办法外部加载这些?
感谢您的时间
答案 0 :(得分:1)
免责声明:我推荐的内容对您来说可能不是最好的。我只对你的项目有所了解,对你告诉客户(或老板)你将要提供的内容一无所知。
如果您要使用x(其中x介于2到30之间)主题。您可能希望花一些时间构建支持x主题的框架。由于每次添加新主题时都不想更改此框架,因此PRISM非常适合您。
我会将所有内容都移到x-ish silverlight类库中。显然,你可以将类似的主题打包在一起,比如季节或假期,这会使项目数量减少。现在不要忘记您的Visual Studio解决方案中可以包含多个项目(只需右键单击项目并选择Add-> New Project)。
使用PRISM相当简单,有很多资源可以帮助您动态加载xap文件。听起来你可能最终想要摆脱与编译一堆类似逻辑相关的问题。
当它们是同一解决方案的一部分时,有没有办法外部加载这些?
答案是肯定的!您必须将您的各个silverlight应用程序编译为XAP文件并使用PRISM加载它们。
这可能看起来很多工作,但是当你创建了它们中的前几个时,它就变成了第二天性,并且很容易在你的列表中添加更多XAP。
http://development-guides.silverbaylabs.org/Video/Silverlight-Prism