У меня есть ObservableCollection
, который содержит элементы для ListView
.
ObservableCollection<MyListItem> Items { get; set; }
Во время создания элемента путь к изображению извлекается из кэша.
public class MyListItem {
public string Image { get; set; }
public MyListItem(string url) {
...
setImage(url);
}
private async void setImage(string url) {
Image = await MyCachingLib.GetUrlAsync(url);
}
}
Однако,если изображение еще не в кеше, мы скачиваем его из интернета. Это занимает слишком много времени, и пользовательский интерфейс, кажется, уже обновляется к моменту установки изображения.
Как я могу обновлять свой ListView каждый раз, когда элемент выполняет извлечение изображения?
Я проверял, чтобыубедитесь, что это не моя библиотека кеширования:
private async void setTitle(string title) {
await Task.Delay(2000); //pretend to get data from the web
Title = title;
}
... И заголовок не обновляется с задержкой.