[This is not an answer and should be removed. OP should move it to the question using "Improve question" —SA]
Look here,
<StackPanel>
<StackPanel Name="StackDesktop" Width="Auto" Height="Auto" >
<Label Name="LabSlideName" Width="Auto" Content="Slide Name" Height="25" Foreground="White"/>
<Grid Name="GridPreview" Width="640" Height="480" HorizontalAlignment="Center" VerticalAlignment="Center" Background="DarkBlue" Margin="26,0,34,0" >
<Grid Name="GridImage">
</Grid>
</Grid>
</StackPanel>
</StackPanel>
SlideShow.SlideShow node = ExperimentLibrary.Experiment.Instance.GetSlideShow().GetNodeByID(id);
System.Windows.Controls.Image img = new System.Windows.Controls.Image();
Bitmap bmp = new Bitmap((int)node.Slide.PresentationSize.Width, (int)node.Slide.PresentationSize.Height);
Graphics g = System.Drawing.Graphics.FromImage(bmp);
node.Slide.Draw(g);
IntPtr hBitmap = bmp.GetHbitmap();
System.Windows.Media.ImageSource WpfBitmap = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
img.Source = WpfBitmap;
double scale = GridPreview.Width / System.Windows.SystemParameters.PrimaryScreenWidth;
img.Width = (int)(WpfBitmap.Width * scale);
img.Height = (int)(WpfBitmap.Height * scale);
img.Stretch = Stretch.UniformToFill; ;
img.StretchDirection = StretchDirection.Both;
GridImage.Children.Add(img);
Image is still 234*135...Any ideas why???