Ergebnis 1 bis 8 von 8
-
entwickelt Apps
- 08.08.2013, 22:11
- #1
Hallo Zusammen
Ich habe in meiner App eine Auswahlliste. Wenn in dieser Liste etwas gewählt wird sollen die entsprechenden Daten geladen werden. Damit der User hier etwas sieht, würde ich gerne einen Busy Indicator anzeigen lassen. Diesen aktiviere ich mit folgendem Code:
Code:Dispatcher.BeginInvoke(delegate { busyProceedAction.IsRunning = true; });
Gibt es eine Möglichkeit wie ich das Gui vor dem Start der Datenbankabfrage aktualisieren kann?
Danke und Gruss
Nemoc
-
- 08.08.2013, 22:19
- #2
Ich denke, async sollte helfen, oder ein background worker
Mit der kostenlosen PocketPC.ch App von meinem RM-821_eu_euro2_248 aus geschrieben.
-
entwickelt Apps
- 08.08.2013, 22:40
- #3
Mit BeginInvoke sollte es doch async sein, oder irre ich mich?
---------- Hinzugefügt um 23:40 ---------- Vorheriger Beitrag war um 23:27 ----------
Ich habe noch etwas weiter rumgesucht und eine Lösung gefunden die ich Adaptieren konnte. Dabei erstelle ich zwei Actions. Eine zum Laden der Daten und eine zum Anzeigen des Busy Indicators. Die erste zum Anzeigen des Indikators rufe ich in einem neuen Thread auf und die zweite per Dispatcher:
Code:Action loadAction = () => { LoadLocations(ListboxCities.SelectedItem.ToString()); }; Action actionBusyIndicator = () => Dispatcher.BeginInvoke(delegate { busyProceedAction.IsRunning = true; }); await Task.Factory.StartNew(actionBusyIndicator); Dispatcher.BeginInvoke(loadAction);
-
- 09.08.2013, 07:57
- #4
Da war ich mit Async/Await ja doch nicht weit weg.
-
entwickelt Apps
- 09.08.2013, 08:46
- #5
Genau =)
Wobei ich mich immernoch etwas wundere dass BeginInvoke nicht async ist. Dachte das auch schon gelesen zu haben. Aber gut, wenn man es weiss..
-
Gehöre zum Inventar
- 09.08.2013, 09:53
- #6
Also wenn ich das jetzt richtig lese, dann hast du zwar das Umstellen des Busy-Indicators Async gemacht aber dann das Laden synchron angestossen und es war ja das Laden, dass den UI-Thread blockiert hat. Ich stelle mal in den Raum dass du die Umstellung des Busy-Indicators auch einfach synchron machen könntest (das geht ja schnell) und die Animation läuft dann im UI-Thread. Nur das Laden der Daten muss halt Async sein, da sonst in der Zwischenzeit das UI geblockt wird. Oder interpretiere ich deinen ursprünglichen Code da gerade falsch.
-
entwickelt Apps
- 09.08.2013, 14:11
- #7
Das wäre mehr oder weniger das umgekehrte was ich jetzt gemacht habe. Bei mir ist das setzten des Busy Indicator async und das laden sync. Aber deine Variante wäre allenfalls etwas sinnvoller ^^ ich versuch das heute Abend mal noch aus ob das auch klappt =)
-
entwickelt Apps
- 25.08.2013, 20:56
- #8
Ich habe das ei Gelegenheit mal noch probiert, hat aber auf dem umgekehrten Weg nicht geklappt.
Mit der kostenlosen PocketPC.ch App von meinem Windows 8 device aus geschrieben.
Ähnliche Themen
-
Live-Kachel wird nicht aktualisiert
Von Drachenklinge im Forum Windows Phone 8 AllgemeinAntworten: 47Letzter Beitrag: 07.08.2013, 10:39 -
Standort wird nicht aktualisiert
Von LutzJ im Forum Samsung Galaxy Note 2Antworten: 1Letzter Beitrag: 15.04.2013, 14:28 -
Nachrichtenverlauf wird nicht Aktualisiert
Von Staff im Forum Nokia Lumia 800Antworten: 1Letzter Beitrag: 18.11.2011, 20:33 -
Mein Standort wird beim Wetter nicht aktualisiert
Von DoctorUltra im Forum HTC Touch Diamond 2Antworten: 10Letzter Beitrag: 09.03.2010, 16:23 -
wetter wird nicht mehr aktualisiert!
Von Unregistriert im Forum HTC Touch Diamond 2Antworten: 2Letzter Beitrag: 25.05.2009, 19:32
Pixel 10 Serie mit Problemen:...