Лучшая идея ... поместить содержимое Grid в ItemsControl и выполнить ScaleTransform для ItemsControl.
<Grid>
<ItemsControl x:Name="ContentScaler">
<Image x:Name="backgroundImage" Source="/Images/backgrounds/Happy rainbow.png" Stretch="Fill"/>
</ItemsControl>
</Grid>
И в коде позади ...
ContentScaler.RenderTransform = new ScaleTransform() { ScaleX = 0.5, ScaleY = 0.5, CenterX = 0, CenterY = 0 };
В зависимости от того, что еще вам может понадобиться, вам может понадобиться что-то вроде установки WrapPanel в качестве ItemsPanelTemplate и / или изменения размера ItemsControl при выполнении масштабирования. Это может быть немного сложно, но, надеюсь, это укажет вам правильное направление.
Использование Grid в Silverlight также имеет тенденцию к чрезмерному использованию, ИМХО, если только не нужно разбивать элементы на макеты таблиц. Холст лучше подходит для того, что вы делаете.