Загрузка изображения из Интернета в wpf / surface

Я пытаюсь загрузить изображения из Интернета в свое приложение 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);
            }
    }

Как только изображения загружаются и он пытается добавить изображения во всплывающее (уже открытое) всплывающее окно, я получаю исключение, в котором говорится, что поток не является владельцем объекта

Кто-нибудь может указать мне правильное направление?

7
задан Marcel 19 November 2010 в 08:26
поделиться