【问题标题】:resolving pack uri not working in wpf解决包 uri 在 wpf 中不起作用
【发布时间】:2012-05-23 10:37:27
【问题描述】:

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

我有一个 prism 解决方案,我希望 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 to pack uri 以及互联网上的大量 stackoverflow 问题和 wpf 资源教程进行验证。

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

提前谢谢你。

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

带有内部异常 FileNotFoundException 的 XamlParseException 具有以下消息: 找不到文件或程序集“MyApplication.Resources,culture=neutral”或其依赖项之一。

【问题讨论】:

  • 您添加的链接无效(转到未找到的页面)
  • 请注意,OP here 也提出了这个问题
  • 链接对我来说工作正常。但是对我来说,从昨天开始,MSDN 的加载时间很长。也许这是一个MSDN问题。我添加了一些额外的信息。
  • 我一直在查看 microsoft 文档,因为我在自己的应用程序中遇到了同样的问题。我想使用外部库来保存我的资源字典。这样一来,一套软件都使用相同的 UI 可以引用相同的库。相当合理的结构。这正如我在 .NET 5 之前找到的 MS 文档文章中所述的那样工作,但从那以后对我没有用。乍一看,这里的一切看起来都是正确的,所以这可能是我遇到的同一个问题,而且或多或少看起来是这样。

标签: c# wpf xaml uri resourcedictionary


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多