private async Task DisplayImage(DownloadableImageLink pick_download) { DetailImageBox.ImageSource = null; RefreshButton.IsBusy = true; const string notify_content = "加载图片中......"; using var notify = LoadingStatus.BeginBusy(notify_content); var downloader = Container.Default.GetExportedValue <ImageFetchDownloadScheduler>(); var image = await ImageResourceManager.RequestImageFromNetworkAsync(pick_download.FullFileName, pick_download.DownloadLink, true, d => { var(cur, total) = d; notify.Description = $"({cur * 1.0 / total * 100:F2}%) {notify_content}"; }); if (image is null) { Toast.ShowMessage("加载图片失败"); } CurrentDisplayImageLink = image is null ? null : pick_download; DetailImageBox.ImageSource = image?.ConvertToBitmapImage(); RefreshButton.IsBusy = false; }
public AsyncImageWrapper(string name, string dl) : this(async() => { return((await ImageResourceManager.RequestImageFromNetworkAsync(name, dl, false))?.ConvertToBitmapImage()); }) { #if DEBUG this.name = name; download_link = dl; #endif //momo moe~ }