0

要创建一个 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");
4

1 回答 1

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);
    }
 }
于 2012-05-02T13:05:29.937 回答