I tested this with the code below and it worked fine. The only idea that occurs to me is that the Image element might not be finding the actual image file. Testing this should be easy, just try creating the image and placing it directly on the page. If you can see it on the page, that means it found the image and it should work inside a StackPanel, ScrollViewer, etc.
public void Page_Loaded(object o, EventArgs e)
{
// Required to initialize variables
InitializeComponent();
// create a StackPanel to hold some content
StackPanel sp = new StackPanel();
// add two checkboxes
CheckBox cb = new CheckBox();
cb.Text = "This checkbox is enabled";
sp.Children.Add(cb);
cb = new CheckBox();
cb.Text = "This checkbox is DISABLED";
cb.Enabled = false;
sp.Children.Add(cb);
// add three sets of label/image controls
for (int i = 1; i <= 3; i++)
{
Label lbl = new Label();
lbl.Text = "Hello friend!";
sp.Children.Add(lbl);
Image img = new Image();
img.Stretch = Stretch.Fill;
img.Width = 200;
img.Height = 200;
img.Source = new Uri(i.ToString() + ".jpg", UriKind.Relative);
sp.Children.Add(img);
}
// show the StackPanel inside a ScrollViewer
ScrollViewer sv = new ScrollViewer();
sv.Border.StrokeThickness = 2;
sv.Border.Stroke = new SolidColorBrush(Colors.LightGray);
sv.AutoSize = AutoSize.None;
sv.Width = sv.Height = 300;
sv.ContentElement = sp;
Children.Add(sv);
}