Я пытаюсь загрузить изображения из Интернета в свое приложение wpf.
Идея заключается в следующем: Когда я нажимаю кнопку, появляется всплывающее окно с дополнительной информацией. В этом всплывающем окне я использую изображения из Интернета.
Проблема: Когда всплывающее окно загружается, система зависает в ожидании изображений. Я связываю изображения из моего кода позади. Изображения хранятся в ObservableCollection. Я попытался использование потока для загрузки изображений, но каждый раз, когда я сталкиваюсь с исключением, говорящим, что поток не является владельцем объекта.
Я попытался использовать Invoke, чтобы получить загруженные изображения в UserinterfaceThread, но я не могу его достать. Мой код следующий:
IList<Image> imagesFromWeb = downloadImagesFromWeb(url);
DispatcherHelper.UIDispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart)delegate()
{
foreach (Image img in imagesFromWeb
{
this.ObservableCollection_Images.Add(img);
}
}
Как только изображения загружаются и он пытается добавить изображения во всплывающее (уже открытое) всплывающее окно, я получаю исключение, в котором говорится, что поток не является владельцем объекта
Кто-нибудь может указать мне правильное направление?