1

我有这种解决方案文件夹结构:

C:\TfsBindRoot\MySln\Development\Sources\WpfProj
C:\TfsBindRoot\MySln\Development\Sources\Resources

WpfProj 中引用了资源项目。

我尝试了不同的变体,例如

 <ResourceDictionary Source="pack://application:,,,//Resources" />

 //and

 <ResourceDictionary Source="pack://application:,,,/../Resources" />

 //and

 <ResourceDictionary Source="pack://application:,,, ../Resources" />

但它没有看到图书馆。

4

2 回答 2

3

您提供的路径格式似乎不正确。

路径取决于资源是在同一个包还是不同的包中。由于您的问题未提供应用程序包的详细信息,请查看MSDN站点以获取正确格式的详细信息。

更新

引用程序集的子文件夹中的资源文件-> "pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml"

版本化引用程序集中的资源文件-> "pack://application:,,,/ReferencedAssembly;v1.0.0.0;component/ResourceFile.xaml"

更新 2

我试过了,它奏效了。“ResourceLibrary”是程序集名称。

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/ResourceLibrary;component/Resources/ResourceFile.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

您可能缺少的一件事是您可能保存所有资源的 ResourceFile.xaml。我的 ResourceFile.xaml 看起来像:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<SolidColorBrush x:Key="MyBrush" Color="Cornsilk"/>

</ResourceDictionary>
于 2013-08-26T08:20:54.630 回答
-2
<ResourceDictionary Source="pack://application:,,,/Resources;component/YourResources.xaml" />

YourResources.xaml 替换为包含资源的 xaml 文件的名称。

于 2013-08-26T08:20:44.417 回答