2013-10-24 40 views
0

我嘗試使用下面的代碼問題創建資源字典

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

但是建立一個資源字典,當我嘗試這樣做我得到一個異常說「的ResourceDictionary LoadFrom操作與URI失敗:{位置上面給出}」。我正在嘗試從ClassLibrary項目中執行此操作。

當我嘗試使用示例WPF應用程序中的相同位置創建ResourceDictionary時,我沒有任何例外,它工作正常。

任何想法可能發生什麼?讓我知道是否有人需要更多的信息來回答這個問題。

+0

如果在settings.TemplateLocation + templateName +「.xaml」生成有效文件路徑 – Nitin

+0

@nit是的,它是。異常中提到的路徑是有效的路徑。 – Anee

+0

Anee,看看答案可以幫助你 – Nitin

回答

0

如果從您引用您的項目,然後類庫加載ResourceDictionary使用:

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

在這裏,你將與在該文件夾的名稱與您引用的程序集的名稱,以取代ReferencedAssemblySubFolder包含文件的引用程序集項目。如果文件位於根目錄下,則不需要指定Subfolder,如果文件位於根目錄,則需要指定ResourceFile.xaml