ImageBrush
これをやってみましたが、グリッドの背景として設定する前に高さと幅を設定する方法がわかりません。
BitmapImage bmp= new BitmapImage(new Uri(imagePath, UriKind.Relative));
int height = bmp.DecodePixelHeight;
int width = bmp.DecodePixelWidth;
ImageBrush imgBrush = new ImageBrush();
imgBrush.ImageSource = bmp;
MainGrid.Background = imgBrush // MainGrid is the name of the Grid