我正在尝试引用MergedDictionaries.SharedStyles项目,该项目包含必须使用全部应用程序的所有样式。所以这里我在不同的文件夹下有不同的样式作为资源字典。所以最后我将它们合并到了AllSharedStyles.xaml中,并在Styles项目级别进行了。
现在我在解决方案级别有另一个ResourceDictionary<>它指的是AllSharedStyles.xaml资源字典<<>>。此ResourceDictionary作为链接添加到解决方案中的所有模块。
这里的问题是在我的SharedResourceDictionary中,我有以下MergedDictionaries
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/MergedDictionaries.SharedStyles;component/AllSharedStyles.xaml" />
<ResourceDictionary Source="/View/LocalResource.xaml" />
</ResourceDictionary.MergedDictionaries>
我首先提到公共资源,然后是我的本地,以便覆盖(仅在需要时)任何特定于模块的样式。
现在,当我运行应用程序时,它会抱怨
'Set property 'System.Windows.ResourceDictionary.Source' threw an exception.' Line number '5' and line position '10'.
这是错误信息。
根据我的理解,它正在寻找适当的参考。我还尝试使用Pack URL ref:Pack URLss。 这是包网址:
<ResourceDictionary Source="pack://application:,,,/MergedResourceDictionaries.Styles;component/component/AllSharedStyles.xaml" />
所以关于如何在这里设置相对路径的任何建议????
对不起我对问题的描述/投射
答案 0 :(得分:21)
最后制定出解决方案:
<ResourceDictionary Source="../SharedResourceDictionary.xaml" />
将其更改为相对路径并给出根路径。