Problem beim Cross-Thread-Zugriff in ResponseCallback in Windows Phone 7

8

Grundsätzlich erhalte ich Daten von einem WebService, und im ResponseCallback versuche ich, eine ObservableCollection mit den Ergebnissen aus der Antwort zu füllen, aber ich bekomme eine UnauthorizedAccessException "Ungültiger Cross-Thread-Zugriff" wenn ich es versuche.

Was wäre der beste Weg, diese beobachtbare Sammlung zu füllen, wenn ich das Ergebnis bekomme?

Danke!

Dies ist der Code:

%Vor%     
Carlo 26.10.2010, 21:34
quelle

3 Antworten

2

Vielleicht möchten Sie sich diese Ссылка ansehen

    
climbage 26.10.2010, 22:08
quelle
14

Ich habe genau dasselbe Problem auf WP7. Es kann durch den von Mick N vorgeschlagenen Code gelöst werden und muss nicht von DO geerbt werden. Nehmen Sie einfach einen Dispatcher aus der statischen Bereitstellungsklasse.

Deployment.Current.Dispatcher.BeginInvoke( () => { //your ui update code } );

Aber das scheint mir eine seltsame Lösung zu sein, ich muss das nie in Silverlight Desktop machen.

Ist das WP7 spezifisch oder gibt es eine bessere Lösung? Danke.

    
jumbo 28.10.2010 20:50
quelle
1

Wenn Sie die Benutzeroberfläche (auch indirekt über eine beobachtete Sammlung) von einem anderen Thread aktualisieren möchten, müssen Sie den Dispatcher nur wie folgt verwenden:

%Vor%     
Mick N 26.10.2010 23:17
quelle

Tags und Links