I've got an assembly somewhere on the file system, e.g. "C:\temp\test.dll". In that assembly there's a ResourceDictionary, e.g. "abc.xaml".
How can i get that ResourceDictionary? Maybe there is a way using Reflections? I didn't find a solution so far.
Thanks in advance!
Edit: Just wanted to add that I want to access the Resources in the Dictionary, e.g. a Style.
Edit: I found an even better solution which works with ResourceDictionaries:
Assembly.LoadFrom(@"C:\temp\test.dll"); ResourceDictionary rd = new ResourceDictionary(); rd.Source = new Uri("/test;component/myresource.xaml");
Well, I couldn't get it to work with ResourceDictionaries, so I'm using good old Resource Files instead ;) For anyone interested, here is how I did it:
Assembly a = Assembly.LoadFile(@"C:\temp\test.dll"); ResourceManager rm = new ResourceManager("NameOfResource", a); object o = rm.GetObject("xyz");
You can get "NameOfResource" with Reflector, as Ian suggested.
You actually need to write the Uri like this:
Assembly.LoadFrom(@"C:\temp\test.dll"); ResourceDictionary rd = new ResourceDictionary(); rd.Source = new Uri(@"pack://application:,,,/test;component/myresource.xaml");