我的公司正在为我们的企业慢慢转向silverlight(来自严格的asp.net应用程序)。我们有几个大规模的基于Web的应用程序,不同的开发团队在不同的产品上工作。即使产品,以及项目/解决方案是分开的,我们也需要有一些共同点。虽然数据结构绝对是其中之一,但我今天的问题是关于UI资源,例如常见的颜色主题,徽标,样式,自定义控件,本地化等等。我想确保如果在一个地方进行更改,那么更改将尽可能无缝地传播到我们的所有应用程序。
显然(对我而言)App.xaml是放置大部分资源的地方,但是仍然只涵盖一个项目,除非我们确保将相同的App.xaml导入到每个解决方案中的每个项目中,然后提供一种在更改时更新该文件(例如指向它的链接)的方法。这听起来有点乱。
我想知道是否有其他人必须解决这个问题,如果你能分享你的技巧或想法?任何这些都可以存储在数据库中吗?在云端?是否可以轻松存储在* .dll中并添加到每个项目中?你是怎么做到的?
答案 0 :(得分:1)
您唯一需要做的就是将所有资源放在一个特定的程序集中,并从app.xaml中的资源字典中引用该程序集:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/AltinetSilver;component/AltiStyles.xaml" />
<ResourceDictionary Source="Assets/AltiStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
第一个ResourceDictionary来自Assembly altinetSilver,需要AltiStyles.xaml。第二个是常规的。所以我认为应该涵盖它。