创建资源字典的问题

时间:2013-10-24 04:00:04

标签: wpf uri resourcedictionary

我正在尝试使用以下代码创建ResourceDictionary

        var rd = new ResourceDictionary
        {
            Source = new Uri(settings.TemplateLocation + templateName + ".xaml")
        };

然而,当我尝试这样做时,我得到一个例外,说“ResourceDictionary LoadFrom操作失败,带有URI:{上面给出的位置}”。我试图从ClassLibrary项目中做到这一点。

当我尝试使用示例WPF应用程序中的相同位置创建ResourceDictionary时,我没有例外,它运行正常。

知道会发生什么事吗?如果有人需要更多信息来回答这个问题,请告诉我。

1 个答案:

答案 0 :(得分:0)

如果要从项目中引用的类库中加载ResourceDictionary,请使用:

     Source = new Uri("pack://application:,,,/ReferencedAssembly;component/SubFolder/ResourceFile.xaml", UriKind.Absolute);

在这里,您必须将ReferencedAssembly替换为引用的程序集名称SubFolder,并在参考程序集项目中包含文件的文件夹名称。如果需要指定Subfolder,则需要指定ResourceFile.xaml文件位于root,{{1}}放置文件名