从我的程序集(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);
Run Code Online (Sandbox Code Playgroud)
如果我将图像设置为嵌入式资源并将其作为流加载,我已设法使其工作,但这不是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文件加载到内存中并将其批量传递给另一个程序集中的方法.
谢谢保罗.
尝试:
pack://application:,,,/YourAssemblyName;component/Images/32px-Nuvola_apps_cache.png
Run Code Online (Sandbox Code Playgroud)