【问题标题】:WPF pack uri for external assembly that loads local resources用于加载本地资源的外部程序集的 WPF 包 uri
【发布时间】:2016-05-12 17:13:48
【问题描述】:

我需要为我使用的外部类指定一个本地资源。我已经尝试了几种组合,但我无法让课程加载我的资源。这些资源是在 Build Action 设置为 Resource 的情况下编译的,并且两个 dll 都是动态加载的。我已经尝试了以下基于pack uris in WPF 的 URI:

  1. 从本地程序集中加载的外部资源:

"pack://application:,,,/LocalAssemblyName;component/Resource"

"pack://application:,,,/LocalAssemblyName;/Resource"

  1. 本地程序集资源文件:

"pack://application:,,,/Resource"

他们都没有工作。我想知道我做错了什么。

【问题讨论】:

    标签: wpf uri pack


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

    希望对你有帮助。

    【讨论】:

    • 谢谢,但我发现错误出现在库用于错误转换 uri 的转换器中。
    猜你喜欢
    • 2011-03-13
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    相关资源
    最近更新 更多