Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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~
        }