Below are some options to work with Image.Source
1. Embedded in the .xap file as Content


Note that the Build Action is “Content”
XAML
<Image x:Name="imgContent" Source="/Assets/Images/2.jpg" />
Code (C#)
imgContent.Source = new BitmapImage(new Uri("/Assets/Images/2.jpg", UriKind.Relative));
2. Embedded in the .xap file as Resource


Note that the Build Action is “Resource”
XAML
<Image x:Name="imgResource" Source="/SilverlightApplication1;component/Assets/Images/1.jpg" />
Code (C#)
imgResource.Source = new BitmapImage(new Uri("/SilverlightApplication1;component/Assets/Images/1.jpg", UriKind.Relative));
3. Absolute URL
The file is stored anywhere in the internet
XAML
<Image x:Name="imgAbsolute" Source="http://i3.silverlight.net/avatar/meidianto.jpg?cdn_id=10092009" />
Code (C#)
imgAbsolute.Source = new BitmapImage(new Uri("http://i3.silverlight.net/avatar/meidianto.jpg?cdn_id=10092009", UriKind.Absolute));
4. Stored inside the web application/website
Note: in this example the image is stored in the same folder as the .xap file

XAML
<Image x:Name="imgServer" Source="/3.jpg" />
Code (C#)
imgServer.Source = new BitmapImage(new Uri("/3.jpg", UriKind.Relative));
5. Async Network Call
Note: in this example the image is stored in the same folder as the .xap file as above
Code (C#)
private void LoadImage()
{
WebClient client = new WebClient();
client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);
client.OpenReadAsync(new Uri("3.jpg", UriKind.Relative));
}
void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
if (e.Error == null
&& e.Result != null)
{
BitmapImage img = new BitmapImage();
img.SetSource(e.Result);
imgServer.Source = img;
}
}