Ich habe vor kurzem mit der Programmierung in WPF begonnen und bin auf das folgende Problem gestoßen. Ich verstehe nicht, wie man die Dispatcher.Invoke()
Methode benutzt. Ich habe Erfahrung im Threading und habe ein paar einfache Windows Forms-Programme erstellt, in denen ich gerade das verwendet habe
Control.CheckForIllegalCrossThreadCalls = false;
Ja, ich weiß, dass das ziemlich lahm ist, aber das waren einfache Überwachungsanwendungen.
Tatsache ist, dass ich jetzt eine WPF-Anwendung erstelle, die Daten im Hintergrund abruft. Ich starte einen neuen Thread, um den Aufruf zum Abrufen der Daten (von einem Webserver) durchzuführen. Jetzt möchte ich sie in meinem WPF-Formular anzeigen. Die Sache ist, ich kann keine Kontrolle über diesen Thread einstellen. Nicht einmal ein Etikett oder so. Wie kann das gelöst werden?
Antwortkommentare:
@Jalfp:
Also verwende ich diese Dispatcher-Methode im 'neuen Profil', wenn ich die Daten erhalte? Oder sollte ich einen Hintergrundmitarbeiter veranlassen, die Daten abzurufen, in ein Feld einzufügen und einen neuen Thread zu starten, der wartet, bis dieses Feld ausgefüllt ist, und den Dispatcher anrufen, um die abgerufenen Daten in den Steuerelementen anzuzeigen?