private protected async Task <ImageData> OpenFromStream(IRandomAccessStreamWithContentType stream, Action <ulong, ulong?>?progress, CancellationToken ct) { try { var bytes = await stream.ReadBytesAsync(ct, progressCallback : progress); var encodedBytes = Convert.ToBase64String(bytes); ReportImageLoaded(); return(new ImageData { Kind = ImageDataKind.DataUri, Value = "data:" + stream.ContentType + ";base64," + encodedBytes }); } catch (Exception ex) { ReportImageFailed(ex.Message); return(new ImageData { Kind = ImageDataKind.Error, Error = ex }); } }