0

我指的是这个http://www.dotnetcurry.com/ShowArticle.aspx?ID=585从 sql server 检索图像到窗口电话,并且在高亮行运行时出现错误 ArgumentNullException 未处理。

public class ImageConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            byte[] buffer = value as byte[];
            **Stream memStream = new MemoryStream(buffer);**
            WriteableBitmap wbimg = PictureDecoder.DecodeJpeg(memStream);
            return wbimg; 
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return null; 
        }
    }

我发现另一个类似的帖子对我有同样的错误。 http://forums.create.msdn.com/forums/p/74224/452127.aspx 但是不明白编码..有人知道如何解决错误吗?

4

1 回答 1

0

看起来value为 null 或不是字节数组。

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
    WriteableBitmap wbimg = null;

    if (value != null && value is byte[]) {
        byte[] buffer = value as byte[];
        Stream memStream = new MemoryStream(buffer);
        wbimg = PictureDecoder.DecodeJpeg(memStream);
    }

    return wbimg; 
}
于 2012-06-07T18:42:59.557 回答