26

我正在尝试引用 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" />

那么关于如何在这里有相对路径的任何建议????

对不起我的问题描述/投影

4

1 回答 1

32

终于找到了解决方案:

<ResourceDictionary Source="../SharedResourceDictionary.xaml" /> 

将其更改为相对路径并给定根路径。

于 2012-10-31T05:45:15.700 回答