要创建Uri,您通常会执行类似
的操作Uri uri = new Uri("pack://application:,,,/Localization/Texts.en-GB.xaml");
从这里你可以创建一个ResourceDictionary ..
ResourceDictionary dictionary = new ResourceDictionary();
dictionary.Source = uri;
现在问题是如何使用程序集(嵌入式资源)执行相同操作?
Assembly asmbly = Assembly.LoadFrom("this_is_in_another_place/texts.dll")
这当然不起作用..
Uri uri = new Uri("/asmbly;component/Texts.en-GB.xaml");
答案 0 :(得分:1)
由于我无法与Uri合作,因此这是一个有效的解决方案。
Assembly asmbly = Assembly.LoadFrom("this_is_in_another_place/texts.dll")
ResourceDictionary dic;
using (Stream s = asmbly.GetManifestResourceStream("Texts.en-GB.xaml"))
{
using (XmlReader reader = new XmlTextReader(s))
{
dic = (ResourceDictionary)XamlReader.Load(reader);
}
}