Есть BitmapImage
и у него есть проблема. Его нельзя просто создать. Можно только начать его инициализацию, после чего он сгенерирует события, типа DownloadCompleted
или DownloadFailed
. А мне необходимо сделать так, чтобы метод, в котором он инициализируется не возвращал ничего, пока инициализация не прошла. Но как? Не ставить же цикл while
.
Например, так:
var bi = new BitmapImage();
bi.BeginInit();
bi.CacheOption = BitmapCacheOption.OnLoad;
bi.UriSource = ...;
bi.EndInit();
// если передаёте в другой поток, ещё нужно
bi.Freeze();
Поскольку загрузка может быть медленной, я бы рекомендовал вынести в фоновый поток через Task.Run
:
BitmapImage image = await Task.Run(() =>
{
var bi = new BitmapImage();
// ...
return bi;
});
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть числовое(decimal) поле ИНН (10, 12 символов)Первые 2-а числа в ИНН - код региона
На этой строке var response = clientPostAsync(APP_PATH + "/Token", content)