【问题标题】:Global resources in a class library类库中的全局资源
【发布时间】:2011-06-14 20:55:57
【问题描述】:

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

类库是否有等效的解决方案? 我在类库中创建了一个单独的资源字典,但是我必须将它合并如下才能使用它。

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

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

【问题讨论】:

    标签: silverlight resources


    【解决方案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>
    

    我希望有人指出更好的解决方案 :-)。

    【讨论】:

    • 我想这已经很好了。谢谢!与此同时,我还创建了一个用于创建用户控件的 Visual Studio 模板,该模板添加了这个以及其他常见代码(即 xmlns 指令等)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    相关资源
    最近更新 更多