从我的程序集(A)我想调用另一个传递图像的程序集(B)中的方法。然后该图像显示在WPF窗口中 - 该窗口是B项目的一部分。
我似乎无法使用pack:// uri传递ImageSource,因为这会在B的上下文中进行评估,所以我想我还需要在A时使用CachedBitmap(?)来缓存图像。
BitmapImage img = new BitmapImage(new Uri("Images/32px-Nuvola_apps_cache.png", UriKind.Relative));
CachedBitmap cbmp = new CachedBitmap(img, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
如果我将图像设置为Embedded Resource并将其作为流加载,我已设法使其工作,但这不是WPF方式。
从包装中可以看出:我应该能够做到这一点的文档,但是我在下面尝试了这些并且没有工作;
“Images / 32px-Nuvola_apps_cache.png”:“无法找到部分路径” “pack:// application:,,, Images / 32px-Nuvola_apps_cache.png”:“无法识别URI前缀。”。 “pack:// siteoforigin:,,, Images / 32px-Nuvola_apps_cache.png”:“无法识别URI前缀。”
我想要做的就是将一个Resource .png文件加载到内存中并将其批量传递给另一个程序集中的方法。
由于 保罗。
答案 0 :(得分:8)
尝试:
pack://application:,,,/YourAssemblyName;component/Images/32px-Nuvola_apps_cache.png