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 に答える