从程序集加载ResourceDictionary我在文件系统的某处有一个程序集,比如“C:\temp\test.dll”。在该程序集中有一个ResourceDictionary,比如“abc.xaml”。我怎样才能得到ResourceDictionary?也许有一种使用反射的方法?到目前为止我没有找到解决方案。提前致谢!编辑:只是想补充一点,我想访问字典中的资源,例如样式。你真的需要这样写Uri:Assembly.LoadFrom(@"C:temptest.dll");ResourceDictionaryrd=newResourceDictionary();rd.Source=newUri(@"pack://application:,,,/test;component/myresource.xaml");编辑:我找到了一个更好的解决方案,适用于ResourceDictionaries:Assembly.LoadFrom(@"C:temptest.dll");ResourceDictionaryrd=newResourceDictionary();路。Source=newUri("/test;component/myresource.xaml");好吧,我不能使用ResourceDictionaries,所以我使用的是旧资源文件;)对于任何感兴趣的人,这就是我的做法:Assemblya=Assembly.LoadFile(@"C:temptest.dll");ResourceManagerrm=newResourceManager("NameOfResource",a);对象o=rm.GetObject("xyz");正如Ian建议的那样,您可以使用Reflector获取“NameOfResource”。获取Reflector的副本(Lutz现在提交了这个)。用它来查看其中资源的程序集和命名空间等。然后在嵌入式资源中读取此类内容;以上就是C#学习教程:从程序集中加载ResourceDictionary共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——Assemblyasm=System.Reflection.Assembly.GetExecutingAssembly();using(System.IO.Streams=asm.GetManifestResourceStream(){using(System.IO.StreamReaderreader=newSystem.IO.StreamReader(s)){stringxml=reader.ReadToEnd();}}本文收录来自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除,转载请注明出处:
