• Как асинхронно загружать изображения и отображать общий прогресс в Progress Bar'е?

    @Boodmoo
    Читаем что такое MVVM и async/await, создаем UserControl с версткой типа
    <Grid>
                <Image Source="{Binding Path=ViewModel.ImageSource, Mode=OneWay}"/>
                <ProgressBar Value="{Binding Path=ViewModel.DownloadProgres, Mode=OneWay}"/>
     </Grid>


    Создаем ViewModel для контрола с нужными полями методом async Task Download().

    теперь во ViewModel главного окна делаем метод принимающий массив Task, допустим startDownloadImage(params Task[] tasks) и выполняющий эти таски (await Task.WhenAll(tasks)).
    В итоге получаем от каждой кнопки мы шлем таску от соответствующего UserControl`a, а если нужно все скачать то передаем все таски разом.

    как то так, если не понятно то пиши
    Ответ написан
    1 комментарий