In Silverlight 1.1, it was impossible to load images from the local file system unless you uploaded them to a server first. In Silverlight 2.0, it’s a piece of cake to load local images as long as you involve the user by displaying an OpenFileDialog:
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = “JPEG Files (*.jpg;*.jpeg)|*.jpg;*.jpeg | All Files (*.*)|*.*”;
ofd.FilterIndex = 1;
if (ofd.ShowDialog() == DialogResult.OK)
{
Stream stream = ofd.SelectedFile.OpenRead();
BitmapImage bi = new BitmapImage();
bi.SetSource(stream);
MyImage.Source = bi;
stream.Close();
}
In this example, “MyImage” is a reference to a XAML Image object.
I just returned from DevWeek in London. The excitement level around Silverlight was very high, and the highlight of my week was doing Silverlight presentations for standing-room-only crowds. Thanks to Dave Wheeler for talking up Silverlight in his keynote and getting the crowds thinking about XAML!