JavaAndCSharp JavaAndCSharp - 1 month ago 13
C# Question

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?

Answer

Create an ImageBrush and use that as the background:

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