我正在尝试在ResourceDictionary
内加载一个xaml文件,我所做的是创建一个这样的字典:
ResourceDictionary dict = new ResourceDictionary();
然后:
dict.Source = new Uri("..\\Resources\\Languages\\en-EN.xaml", UriKind.Relative);
现在我有以下应用程序文件夹结构:
AppName
Resources
Languages
en-EN.xaml
it-IT.xaml
不幸的是我收到了这个错误:
无法找到资源'resources / languages / en-en.xaml'
但资源存在,为什么会这样呢?
答案 0 :(得分:1)
尝试使用包URI:
dict.Source = new Uri("pack://application:,,,/Resources/Languages/en-EN.xaml", UriKind.RelativeOrAbsolute);
并将Build Action属性设置为其默认值 Page 。
如果资源字典位于另一个程序集中,您还需要添加对此程序集的引用,并在包URI中指定它的名称:
dict.Source = new Uri("pack://application:,,,/TheNameOfTheAssembly;component/Resources/Languages/en-EN.xaml", UriKind.RelativeOrAbsolute);