Silverlight-管理大量主题

Silverlight-管理大量主题,silverlight,module,themes,prism,Silverlight,Module,Themes,Prism,我有一个基于棱镜的silverlight解决方案,受源代码控制。关于主题,我为每个主题都有一个项目,例如“夏季主题”、“冬季主题”项目。实际上,这些主题项目可能有30多个。每个主题项目都包含一组资源字典,用于保存样式等以及所需的图像、声音等 这些项目中的每一个都有一个Main.xaml合并资源字典,它将该主题项目中的所有资源联系在一起。然后,我的主应用程序只使用它需要使用的主题项目中的main.xaml资源字典 我的问题是,我需要在我的解决方案中使用这30个左右的主题,这样它们就可以保持在源代码

我有一个基于棱镜的silverlight解决方案,受源代码控制。关于主题,我为每个主题都有一个项目,例如“夏季主题”、“冬季主题”项目。实际上,这些主题项目可能有30多个。每个主题项目都包含一组资源字典,用于保存样式等以及所需的图像、声音等

这些项目中的每一个都有一个Main.xaml合并资源字典,它将该主题项目中的所有资源联系在一起。然后,我的主应用程序只使用它需要使用的主题项目中的main.xaml资源字典

我的问题是,我需要在我的解决方案中使用这30个左右的主题,这样它们就可以保持在源代码控制和可管理的范围内,但它们都被编译到XAP中,这显然是不好的,因为应用程序部署在某个地方,只需要一个主题

我的问题是人们认为什么才是合适的方法?为每个主题提供一个单独的解决方案,以便将其编译成一个单独的XAP并动态加载,这似乎是一项艰巨的工作。当它们是同一解决方案的一部分时,有没有办法从外部加载它们


感谢您抽出时间

免责声明:我所推荐的可能并不适合您。我对你的项目只知道一点点,对你告诉客户(或老板)你将要交付给他们的内容一无所知

如果你要有x(其中x在2到30之间)的主题。您可能需要花一些时间构建一个支持x主题的框架。因为您不希望每次添加新主题时都更改此框架,所以PRISM非常适合您

我会把所有的东西都放到x-ishSilverlight类库中。显然,你可以将类似的主题打包在一起,比如季节或假期,这会减少项目的数量。现在不要忘记,VisualStudio解决方案中可以有多个项目(只需右键单击该项目并选择Add->New project)

使用PRISM非常简单,有很多资源可以帮助您动态加载xap文件。听起来您可能最终希望摆脱与使用一系列类似逻辑进行编译相关的问题

当它们是同一解决方案的一部分时,有没有办法从外部加载它们

答案是肯定的!您必须将单个silverlight应用程序编译成XAP文件,并使用PRISM加载它们

这看起来可能需要做很多工作,但当您创建了前几个XAP之后,将更多XAP添加到您的列表中就变成了第二天性,而且非常简单


你好,Jeremiah,谢谢你,这些链接看起来非常有用,特别是MS文章中关于加载external.xaps有多容易的部分。不知怎么的,我以前错过了。。再次感谢