[WPF]使用StreamSource显示图片后,应该在什么时候Close
用BitmapImage为Image控件显示图像,最简单的就是BitmapImage bi=new BitmapImage(new Uri(file));
但是这个时候file文件会把占用,想删除或改写就不能成功
改成下面的方法就可以:
使用两个按钮,分别如下:
FileStream fs;
private void button1_Click(object sender, RoutedEventArgs e)
{
BitmapImage bi = new BitmapImage();
bi.BeginInit();
fs=File.OpenRead(@"D:\wall易做图\wall易做图.jpg");
bi.StreamSource = fs;
bi.EndInit();
img.Source = bi;
}
private void button2_Click(object sender, RoutedEventArgs e)
{
fs.Close();
}
执行button2_Click之后,图片还是可以显示,而且文件没有被占用,这就是我要的效果
但是如果把fs.Close()直接放在img.Source=bi;之后,图片就显示不出来了。
而我显示不可能用一个按钮的Click去触发fs.Close代码,所以我想知道,我应该在什么时候执行fs.Close()
Image或者BitmapImage有相关的事件吗,我没有找到 --------------------编程问答-------------------- WPF的问题没人回啊 --------------------编程问答-------------------- --------------------编程问答-------------------- with(BitmapImage bi = new BitmapImage())
{
bi.BeginInit();
fs=File.OpenRead(@"D:\wall易做图\wall易做图.jpg");
bi.StreamSource = fs;
bi.EndInit();
img.Source = bi;
} --------------------编程问答-------------------- 不对,别瞎说
顶顶也健康! --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 这个我也没搞明白,在SL下setsource(stream)(等同于wpf的streamsource属性)就可以close,不知为什么wpf下不可以。帮UP
补充:.NET技术 , C#