System.OutOfMemoryException:将图像输入到expandderview中

时间:2013-11-28 14:22:27

标签: c# out-of-memory memorystream bitmapimage expander

我试图从数据库中取出图像,将其从字节转换为bitmapimage,并将其放在列表中的扩展视图中。此列表包含与数据库中的条目一样多的扩展视图。这非常有效,直到您超过6个条目。然后它会显示警告:

System.OutOfMemoryException:没有足够的内存来继续执行程序

这是我的字节到位图转换器:

public class ByteToImageConverter : IValueConverter
{
    public BitmapImage ConvertByteArrayToBitMapImage(byte[] imageByteArray)
    {
        BitmapImage img = new BitmapImage();
        using (MemoryStream memStream = new MemoryStream(imageByteArray))
        {
            img.SetSource(memStream);
            memStream.Dispose();
        }
        return img;
    }

    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        BitmapImage img = new BitmapImage();
        if (value != null)
        {
            img = this.ConvertByteArrayToBitMapImage(value as byte[]);
        }
        return img;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return null;
    }
}

1 个答案:

答案 0 :(得分:0)

使用完成后需要处理BitmapImage对象。