OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "图片文件(*.jpg)|*.jpg;";//读取的文件类型,这里只允许读取jpg,gif在silverlight2.0是无法识别的
if (Convert.ToBoolean(ofd.ShowDialog()))
{
Stream stream = ofd.File.OpenRead();//把文件放到“流”中
BitmapImage bitImg = new BitmapImage();
bitImg.SetSource(stream);//把“流”设置成数据源
MyViewer.BackupGroundImage = bitImg;//设置背景图片,MyViewer为自定义控件,可以把它换成Image控件
stream.Close();//读取完后关闭
return;
}
另注:
ofd.ShowDialog() == DialogResult.OK ,这个判断在silverlight2.0中试不成立的,“DialogResult”在silverlight2.0没有
只好用
if (Convert.ToBoolean(ofd.ShowDialog()))
来转化一下了
这里,我参考了 瞿杰写的博客
http://www.cnblogs.com/tonyqus/archive/2008/04/08/1134583.html
尽管Silverlight官方网站上都明确指出:出于安全原因,Silverlight不能访问本地文件系统。但是在Silverlight 2.0中有一个例外,就能通过OpenFileDialog来访问本地文件。