private static void Enqueue(IImageUriRenderer renderer, UriPicture picture, Int32 priority) { if ((picture == null) || !picture.IsAvailable) { return; } if (!picture.UseAsyncPattern) { renderer.UriContent = new ImageUriContent(picture.Size, picture.GetUri()); } else { PictureProcessor.Enqueue(new UriPictureRequest(renderer, picture), priority); } }
public async Task <Boolean> ProcessAsync(TaskFactory imageRenderingTaskFactory) { var removeFromQueue = true; var pictureUri = Picture.UseAsyncPattern ? await Picture.GetUriAsync().ConfigureAwait(false) : Picture.GetUri(); if (IsValid) { await imageRenderingTaskFactory.StartNew(() => Renderer.UriContent = new ImageUriContent(Picture.Size, pictureUri)).ConfigureAwait(false); } return(removeFromQueue); }