Привязка Bitmapimge к изображению в Wpf? - PullRequest
1 голос
/ 01 мая 2010

Это простой вопрос (давайте посмотрим)

Я хочу привязать растровое изображение к изображению. Для этого в коде CS вы должны написать эту строку.

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

Но я хочу сделать Binding из ресурсов. Потому что во время выпуска ресурсы стали частью файла project.exe, и если вы делаете привязку из файла (значит, установите Image.source с адресом файла изображения), вы всегда должны помещать файл изображения в один и тот же адрес (аварийное программирование):)

1 Ответ

2 голосов
/ 01 мая 2010

Один из вариантов - получить его из файла 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...