2012-07-10 70 views
0

我创建了大约10个线程来完成相同的工作 - 从Internet下载图像。下载完成后,它将提高此回调函数:有多个线程时WriteableBitmap异常

private void DownloadImageWrapper(IRestResponse response, params object[] args) 
{ 
    byte[] imageData = response.RawBytes; 
    using (Stream ms = new MemoryStream(imageData)) 
    { 
     WriteableBitmap wbImg = PictureDecoder.DecodeJpeg(ms); 

     callback.DynamicInvoke(wbImg, file); 
    }; 
} 

引发的异常符合WriteableBitmap。我读到这把锁有助于解决这个问题,但找不到任何有关我应该锁在那里的“什么”。任何人都会帮忙?

+1

例外?我没有看到任何异常。我想你一定是错了。 ([edit]) – Will 2012-07-10 13:47:04

回答

1

需要在UI线程上创建WriteableBitmap。

您将不得不将所有照片保存为像素数组(整数或字节),然后在完成后在UI线程上创建WriteableBitmaps。

+0

感谢您的帮助。 – Hazardius 2012-07-10 14:07:57