在Silverlight应用程序中,我们可以在App.xaml中定义资源,并且可以从任何XAML文档访问它们,而无需显式合并这些资源。
是否有类库的等效解决方案? 我在类库中创建了一个单独的资源字典,但在使用之前我必须按如下方式合并它。
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="MyResources.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
有没有办法避免这种情况?在全球使用的资源的每个XAML文档中执行此操作相当繁琐。
答案 0 :(得分:1)
我正要问同样的问题。不幸的是,你所描述的与我能够提出的非常接近。从理论上讲,似乎你应该能够将这些文件放入库的themes \ generic.xaml文件中,但是我无法做到这一点 - 可能我只是做了一些愚蠢的事情。我能做的最好的只是你所做的一个稍微缩短的变体,即省略MergedDictionaries语法:
<UserControl.Resources>
<commonui:CommonStringsPublic x:Key="commonStrings" />
<ResourceDictionary Source="/Alanta.Client.UI.Common;component/CommonResources.xaml" x:Key="commonResources" />
</UserControl.Resources>
我希望有人能指出我更好的解决方案: - )。