【问题标题】:Cannot load external ResourceDictionary无法加载外部资源字典
【发布时间】:2009-05-13 14:42:51
【问题描述】:

我正在尝试使用此代码加载外部 XAML 文件:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/OfficeStyle;component/OfficeStyleWindow.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

在“OfficeStyle”DLL 上打开反射器会给出:

alt text http://robbertdam.nl/share/p3.png

运行应用程序会出现此错误:

alt text http://robbertdam.nl/share/p4.png

弹出错误和我在本文开头放置的 XAML 代码。我错过了什么?我尝试加载的 XAML 文件包含一堆样式等。我想在我的应用程序中重用。

【问题讨论】:

    标签: c# .net wpf xaml


    【解决方案1】:

    OfficeStyleWindow.xaml 文件的构建操作是什么?它应该是 Page,而不是 EmbeddedResource

    【讨论】:

    • 好吧,我从“资源”开始,但反射器没有显示 xaml 文件。它仅在我将其设为 EmbeddedResource 时显示。在这两种情况下都找不到资源文件。
    • 抱歉,我意识到我犯了一个错误......构建操作应该是 Page,而不是 Resource ;我更新了我的答案。您不会在 Reflector 中看到 XAML 文件,因为它将被编译为 BAML。在 Reflector 中,它将在资源模块 OfficeStyle.g.resources 中显示为名为“Resources/OfficeStyleWindow.baml”的 MemoryStream 资源
    • 谢谢,让它“页面”完成了这项工作!
    【解决方案2】:

    尝试将文件夹名称添加到包路径。

    pack://application:,,,/OfficeStyle;component/Resources/OfficeStyleWindow.xaml

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多