2011-01-24 56 views
6

在Silverlight应用程序中,我们可以在App.xaml中定义资源,并且可以从任何XAML文档访问它们,而无需显式合并这些资源。类库中的全局资源

是否有类库的等价解决方案? 我在类库中创建了一个单独的资源字典,但在使用它之前我必须按如下所示合并它。

<UserControl.Resources> 
<ResourceDictionary> 
    <ResourceDictionary.MergedDictionaries> 
    <ResourceDictionary Source="MyResources.xaml" /> 
    </ResourceDictionary.MergedDictionaries> 
</ResourceDictionary> 
</UserControl.Resources> 

有没有办法避免这种情况?在每个XAML文档中为全局使用的资源执行此操作非常繁琐。

回答

1

我正要问这个问题。不幸的是,你所描述的非常接近我所能想到的。理论上,你似乎应该能够将这些放到图书馆的主题\ generic.xaml文件中,但我一直无法做到这一点 - 可能我只是在做一些事情。我已经能够做到最好的仅仅是一个你在做什么,即离开了MergedDictionaries语法略短的变体:

<UserControl.Resources> 
    <commonui:CommonStringsPublic x:Key="commonStrings" /> 
    <ResourceDictionary Source="/Alanta.Client.UI.Common;component/CommonResources.xaml" x:Key="commonResources" /> 
</UserControl.Resources> 

我很想有人点我到一个更好的解决方案:-)。

+0

我想这是一样好,谢谢! 在此期间,我还创建了一个用于创建用户控件的视觉工作室模板,添加了这个以及其他常用代码(即xmlns指令等)。 – 2011-01-25 16:23:21