Search code examples
c#visual-studiovisual-studio-2010windows-phone-7canvas

Convert BitmapImage to System.Windows.Media.Brush


How would I convert a BitmapImage to a System.Windows.Media.Brush?

I have a BitmapImage imaginatively called bitmap, and I have a Canvas (also imaginatively titled) canvas.

How would I set the value of canvas to the value of bitmap?

I've tried canvas.Background = bitmap;, but that didn't work: image.Source = bitmap; works for images, but not Canvases: and

ImageSourceConverter imgs = new ImageSourceConverter(); canvas.SetValue(Image.SourceProperty, imgs.ConvertFromString(bitmap.ToString()));

didn't work either.

All of these worked with images, however.

Maybe something with bitmap.ToString() would work?


Solution

  • Create an ImageBrush and use that as the background:

     ImageBrush ib = new ImageBrush();
     ib.ImageSource = bitmap;
     canvas.Background = ib;