在运行时从WPF中的资源加载图像

时间:2012-03-20 10:07:35

标签: wpf

我尝试使用以下代码在WPF中运行时加载图像

_image = new Image();
BitmapImage src = new BitmapImage();
src.BeginInit();
src.UriSource = new Uri(@"pack://application:,,,/images/tagimages/placeholder.png", UriKind.Absolute);                
src.CacheOption = BitmapCacheOption.OnLoad;
src.EndInit();
_image.Source = src;
_image.Stretch = Stretch.None;

在我的项目中,我有一个名为images的文件夹和一个名为tagimages的文件夹的子文件夹,其中包含placeholder.png。当我运行此代码时,我收到以下错误

“找不到资源'images / tagimages / placeholder.png'”

我做错了什么?

2 个答案:

答案 0 :(得分:9)

事实证明我应该使用

Uri(@"pack://application:,,,/<MyProject>;component/images/tagimages/placeholder.png", UriKind.Absolute);

答案 1 :(得分:1)

从您使用的程序代码:@“pack:// application:,,, / putyourfilenamehere”获取嵌入式资源。

或换句话说

BitmapImage image = new BitmapImage(new Uri(“pack:// application:,,, / Images / myimage.png”));