【问题标题】:How to set a relative path/Uri in ResourceDictionary's source如何在 ResourceDictionary 的源中设置相对路径/Uri
【发布时间】:2012-08-17 11:07:25
【问题描述】:

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

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

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

【问题讨论】:

    标签: wpf xaml resourcedictionary prism-4


    【解决方案1】:

    终于找到解决办法:

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

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

    【讨论】:

    • 请注意,如果您将程序集包含在另一个项目中,这将不起作用。您将需要一个绝对路径,在您的情况下,它将是 /Shell.Run;component/SharedResourceDictionary.xaml
    猜你喜欢
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    • 2011-06-06
    • 2021-10-14
    • 2022-01-17
    • 1970-01-01
    相关资源
    最近更新 更多