我正在尝试使用以下代码创建ResourceDictionary
var rd = new ResourceDictionary
{
Source = new Uri(settings.TemplateLocation + templateName + ".xaml")
};
然而,当我尝试这样做时,我得到一个例外,说“ResourceDictionary LoadFrom操作失败,带有URI:{上面给出的位置}”。我试图从ClassLibrary项目中做到这一点。
当我尝试使用示例WPF应用程序中的相同位置创建ResourceDictionary时,我没有例外,它运行正常。
知道会发生什么事吗?如果有人需要更多信息来回答这个问题,请告诉我。
答案 0 :(得分:0)
如果要从项目中引用的类库中加载ResourceDictionary
,请使用:
Source = new Uri("pack://application:,,,/ReferencedAssembly;component/SubFolder/ResourceFile.xaml", UriKind.Absolute);
在这里,您必须将ReferencedAssembly
替换为引用的程序集名称SubFolder
,并在参考程序集项目中包含文件的文件夹名称。如果需要指定Subfolder
,则需要指定ResourceFile.xaml
文件位于root,{{1}}放置文件名