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; } }
Leave a Reply