示例#1
0
        public async Task OpenOrDownloadImages(HttpClient httpClient, [CanBeNull] ProgressDialogController controller,
                                               double progressRange)
        {
            var perImageProgress = progressRange / Images.Count;

            foreach (var image in Images.Keys.ToArray())
            {
                var path = SkillTree.AssetsFolderPath + image;
                if (!File.Exists(path))
                {
                    var stream = await httpClient.GetStreamAsync(Urlpath + image);

                    await FileEx.WriteStreamAsync(path, stream);
                }
                Images[image] =
                    ImageHelper.OnLoadBitmapImage(new Uri(path, UriKind.Absolute));
                if (controller != null)
                {
                    controller.IncreaseProgress(perImageProgress);
                }
            }
        }