从我的程序集(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);
如果我将图像设置为嵌入式资源并将其作为流加载,我已经设法让它工作,但这不是 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 文件加载到内存中,然后将它批量传递给另一个程序集中的方法。
谢谢保罗。