1

虽然我发现了很多“pack uri issue”问题,但我没有得到我的问题的答案。

我有一个棱镜解决方案,我希望一个MyApplication.Resources程序集包含我所有的应用程序范围的样式和模板。

所以

  • 第 1 步:我已经创建了解决方案(WpfUsercontrollibrary)
  • 第 2 步:创建文件夹 /Themes
  • 第 3 步:创建了 Generic.Ribbon.xaml
  • 第 4 步:创建 Generic.xaml
  • 第 5 步:Generic.xaml 有一个 MergedDictionary 部分来合并所有 Generic.xxx.xaml 文件
  • 第 6 步:在 prism 模块程序集中引用的 MyApplication.Resources 程序集
  • 第 7 步:在我的模块视图中加载 Generic.xaml(类型: Microsoft.Windows.Controls.Ribbon.RibbonTab

    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/MyApplication.Resources;component/Themes/Generic.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
    

我也尝试过绝对变体

<ResourceDictionary Source="pack://application:,,,/ElairoCRM.Resources;component/Themes/Generic.xaml"/>

以上所有步骤均通过MSDN doku 验证打包 uri以及互联网上的大量 stackoverflow 问题和 wpf 资源教程。

但没有任何效果。我错过了什么?

先感谢您。

编辑: 我忘记了发生的错误:

XamlParseException 与内部异常 FileNotFoundException 具有以下消息:未找到文件或程序集 \"MyApplication.Resources,culture=neutral" 或其依赖项之一。

4

1 回答 1

0

我自己解决了这个问题。我将 Resource 程序集中的 Generic.xaml 文件从主题文件夹复制到程序集根目录,并将 pack 参数更改为 component/Generic.xaml。现在一切都按预期工作。我没有找到有关此行为的文档。

于 2012-05-23T12:08:38.453 回答