我有这种解决方案文件夹结构:
C:\ TfsBindRoot \ MySln \ Development \ Sources \ WpfProj
C:\ TfsBindRoot \ MySln \发展\源头\资源
WpfProj中引用了资源项目。
我尝试了不同的变体,例如
<ResourceDictionary Source="pack://application:,,,//Resources" />
//and
<ResourceDictionary Source="pack://application:,,,/../Resources" />
//and
<ResourceDictionary Source="pack://application:,,, ../Resources" />
但它没有看到图书馆。
答案 0 :(得分:3)
您提供的路径似乎格式不正确。
路径取决于资源是在同一个包还是不同的包中。由于您的问题未提供应用程序包的详细信息,请查看MSDN站点以获取正确格式的详细信息。
<强>更新强>
引用程序集的子文件夹中的资源文件 - &gt; “包://应用:,,, / ReferencedAssembly;组件/子文件夹/ ResourceFile.xaml”
版本化引用程序集中的资源文件 - &gt; “包://应用:,,, / ReferencedAssembly; V1.0.0.0;组分/ 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>
答案 1 :(得分:-2)
<ResourceDictionary Source="pack://application:,,,/Resources;component/YourResources.xaml" />
YourResources.xaml替换为包含资源的xaml文件名。