WPF打包uri用于加载本地资源的外部程序集

时间:2016-05-12 17:13:49

标签: wpf uri pack

我需要为我使用的外部类指定本地资源。我尝试了几种组合,我不能让这个类加载我的资源。使用Build Action设置为Resource编译资源,并且两个dll都是动态加载的。我根据pack uris in WPF尝试了以下URI:

  1. 从本地程序集加载的外部资源:
  2. “包://应用:,,, / LocalAssemblyName;组件/资源”

    “包://应用:,,, / LocalAssemblyName; /资料”

    1. 本地程序集资源文件:
    2. “包://应用:,,, /资料”

      他们都没有奏效。我想知道我做错了什么。

1 个答案:

答案 0 :(得分:1)

在我的App.xaml我使用对位于另一个程序集中的资源的引用,如下所示:

<Application ... >
    <Application.Resources>
        <ResourceDictionary>
            ...
            <!-- This loads a whole ResourceDictionary: -->
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/LocalAssemblyName;Component/ResourcDictionaries/YourResources.xaml" />
            </ResourceDictionary.MergedDictionaries>
            ...
            <!-- Like this you can load resources one by one: -->
            <BitmapImage x:Key="_icon_save" UriSource="pack://application:,,,/LocalAssemblyName;Component/SingleResources\disk12.ICO" />
            ...
        </ResourceDictionary>
    </Application.Resources>
</Application>

希望它有所帮助。