有关为Silverlight共享资源的建议

时间:2011-01-07 14:14:58

标签: silverlight

我的公司正在为我们的企业慢慢转向silverlight(来自严格的asp.net应用程序)。我们有几个大规模的基于Web的应用程序,不同的开发团队在不同的产品上工作。即使产品,以及项目/解决方案是分开的,我们也需要有一些共同点。虽然数据结构绝对是其中之一,但我今天的问题是关于UI资源,例如常见的颜色主题,徽标,样式,自定义控件,本地化等等。我想确保如果在一个地方进行更改,那么更改将尽可能无缝地传播到我们的所有应用程序。

显然(对我而言)App.xaml是放置大部分资源的地方,但是仍然只涵盖一个项目,除非我们确保将相同的App.xaml导入到每个解决方案中的每个项目中,然后提供一种在更改时更新该文件(例如指向它的链接)的方法。这听起来有点乱。

我想知道是否有其他人必须解决这个问题,如果你能分享你的技巧或想法?任何这些都可以存储在数据库中吗?在云端?是否可以轻松存储在* .dll中并添加到每个项目中?你是怎么做到的?

1 个答案:

答案 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。第二个是常规的。所以我认为应该涵盖它。