StaticResource,资源在外部程序集中

本文关键字:程序 程序集 集中 外部 资源 StaticResource | 更新日期: 2023-09-27 18:10:37

基本上,我希望将所有的XAML资源保存在一个外部程序集中(用于我的样式)。在我的应用程序中有这个外部程序集的引用。

是否有一些与卫星程序集或什么的,或者我如何去访问这些样式,使我的应用程序仍然可以有StaticResource标签没有编译错误?

StaticResource,资源在外部程序集中

假设您将样式保留在其他程序集中的ResourceDictionary中,您只需将其与当前资源合并(无论它们是在WindowUserControl上还是其他)。

如果我们假设

  • 您的另一个程序集命名为'external.assembly.name'
  • ResourceDictionary位于资源命名空间下;和
  • 字典命名为'MyStyles.xaml'

…然后您可以按如下方式合并字典:

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary 
              Source="pack://application:,,,/external.assembly.name;component/Resources/MyStyles.xaml" />
        </ResourceDictionary.MergedDictionaries>
        <!-- other resources go here -->
    </ResourceDictionary>
</UserControl.Resources>