将Bitmapimge绑定到Wpf中的图像?

时间:2010-05-01 04:51:08

标签: wpf

这是一个简单的问题(让我们看看)

我想将位图图像绑定到Image。为了在cs代码中执行此操作,您必须写下此行。

this.leftImage.Source = new BitmapImage(new Uri(@"C:\a.bmp"));

但我想从资源中进行绑定。因为在发布时间资源成为project.exe文件的一部分,并且如果从文件进行绑定(Mean set Image.source with Image file address),则必须始终将图像文件放在同一地址(灾难编程):)

1 个答案:

答案 0 :(得分:2)

一个选项是从resx文件中获取它。你可以做类似的事情。假设Images.resx包含左图像位图。

leftImage.Source = ConvertBitmapToBitmapImage(Images.Left);
...
private BitmapImage ConvertBitmapToBitmapImage(Bitmap bitmap)
{
  MemoryStream memoryStream = new MemoryStream();
  bitmap.Save(memoryStream, ImageFormat.Png);
  BitmapImage bitmapImage = new BitmapImage();
  bitmapImage.BeginInit();
  bitmapImage.StreamSource = new MemoryStream(memoryStream.ToArray());
  bitmapImage.EndInit();

  return bitmapImage;
}

通过更多工作,您也可以从XAML执行此操作。