Wpf + progress bar + datagrid frissítés probléma . Miért nem frissít?
Figyelt kérdés
Van egy olyan problémám, hogy mikor elindítok gombnyomásra egy folyamatot a programomban, a számítás ideje alatt nem tudom frissíteni a grafikus felületen az adatok változásait. Pl.: a bind-olt adatok csak a folyamat lefutása után frissülnek a táblázatomban és a progressbar állapotát sem tudom frissíteni, még akkor se, ha külön DispatcherTimer Tick event alól próbálom frissíteni, ami "elvileg" külön szálon fut. Vagyis amíg fut a számításom, addig a timer is megáll. Nem teljesen értem hogy van ez. A wpf világa még eléggé új nekem.2014. ápr. 28. 15:52
1/2 anonim válasza:
Egyetlen szálon dolgozol, ráadásul ez ugyan az ami a GUI-t is vezérli. A Timered hiába frissíti a progress bart, ha az a szál éppen izzad valami számítás miatt.
Jó irányba kezdtél el menni,de magát a folyamatot tedd át más szálra, ne a frissítést.
Tipp: Lehet szükséged lesz az Invoke()-ra a szálat közötti hívások miatt.
2/2 A kérdező kommentje:
Már végig próbálgattam sok verziót, de egyik se működik.
Most találtam egy megvalósítást a régi kódban, ahol egy BackgroundWorker osztályt példányosítanak, aminek van egy aszinkron futtatás nevű függvénye. Szerintem ez lesz a jó, majd most kipróbálom.
Köszi a választ!
2014. ápr. 29. 12:00
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!