Exemplo n.º 1
0
        /// <summary>
        /// Tests the final bitmap returned by the view model, by waiting for the BitmapStatus to be "complete".
        /// </summary>
        private static async Task <BitmapSource> GetFinalIconBitmapAsync(PackageItemListViewModel packageItemListViewModel)
        {
            BitmapSource result             = packageItemListViewModel.IconBitmap;
            int          millisecondsToWait = 3000;

            while (!IconBitmapStatusUtility.GetIsCompleted(packageItemListViewModel.BitmapStatus) && millisecondsToWait >= 0)
            {
                await Task.Delay(250);

                millisecondsToWait -= 250;
            }

            result = packageItemListViewModel.IconBitmap;
            return(result);
        }
        /// <summary>
        /// Tests the final bitmap returned by the view model, by waiting for the BitmapStatus to be "complete".
        /// </summary>
        private static async Task <BitmapSource> GetFinalIconBitmapAsync(PackageItemViewModel packageItemViewModel, bool addIconToCache = true)
        {
            if (addIconToCache)
            {
                var packageIdentity = new PackageIdentity(packageItemViewModel.Id, packageItemViewModel.Version);
                NuGetPackageFileService.AddIconToCache(packageIdentity, packageItemViewModel.IconUrl);
            }

            BitmapSource result             = packageItemViewModel.IconBitmap;
            int          millisecondsToWait = 3000;

            while (!IconBitmapStatusUtility.GetIsCompleted(packageItemViewModel.BitmapStatus) && millisecondsToWait >= 0)
            {
                await Task.Delay(250);

                millisecondsToWait -= 250;
            }

            result = packageItemViewModel.IconBitmap;
            return(result);
        }