Ich versuche, Bilder aus dem Internet in meiner WPF-Anwendung zu laden. Die Idee ist die folgende: Wenn ich auf eine Schaltfläche klicke, wird ein Popup mit zusätzlichen Informationen ausgelöst. In diesem Popup verwende ich einige Bilder aus dem Internet. Das Problem: Wenn das Popup geladen wird, hängt das System beim Warten auf die Bilder. Ich bin verbindlich die Bilder von meinem Code hinter. Die Bilder werden in einer ObservableCollection gespeichert. Ich probierte mit einem Thread zum Laden der Bilder, aber jedes Mal, wenn ich auf eine Ausnahme laufe, sagte der Thread ist nicht der Besitzer des Objekts.Image Laden von Web in WPF/Oberfläche
Ich habe versucht, eine Invoke zu verwenden, um die heruntergeladenen Bilder auf das UserinterfaceThread zu bekommen, aber ich kann es nicht erreichen. Mein Code ist folgende:
IList<Image> imagesFromWeb = downloadImagesFromWeb(url);
DispatcherHelper.UIDispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart)delegate()
{
foreach (Image img in imagesFromWeb
{
this.ObservableCollection_Images.Add(img);
}
}
Sobald die Bilder heruntergeladen werden, und es versucht, die Bilder auf den (bereits geöffnet) Popup ich die Ausnahme erhalten hinzuzufügen sagen der Faden ist nicht Eigentümer des Objekts
Kann mir bitte jemand in die richtige Richtung zeigen?
Danke für die Antwort. Ich habe es nicht benutzt, weil ich bereits eine andere Lösung gefunden habe (siehe unten). – Marcel