void AsyncBmpGenerator_DoWork(object sender, DoWorkEventArgs e) { AsyncBmpData data = e.Argument as AsyncBmpData; if (data.File != null) //&& data.Reload) { myPdfBmpDoc.LoadPdf(data.File); } // this is not optimal since the pdf might be changing when called.... pass PdfWrapper instead to remedy.... //data.bmp = myPdfBmpDoc.GetBitmapSource(data.Resolution, data.RenderTransparent); data.bmp = myPdfBmpDoc.GetBitmap(data.Resolution, data.RenderTransparent); e.Result = data; }