Dzisiaj znaleźliśmy mały dziwny problem w jednej z naszych aplikacji WPF i nie jesteśmy do końca pewni, jak sobie z tym poradzić. Gdy uruchomimy oprogramowanie na jednym z naszych laptopów, ekran przejdzie w stan uśpienia (zmieni kolor na czarny) po pewnym czasie, kiedy nie będzie interakcji użytkownika. Sama aplikacja jest wciąż zajęta pobieraniem danych z Internetu i wypełnianiem tabel w bazie danych. Dostępny jest również pasek postępu i pasek stanu.Okna aplikacji WPF nie są w pełni odświeżane po przebudzeniu ekranu ze stanu uśpienia.
Jeśli obudzimy ekran, po prostu poruszając myszą, program zostanie ponownie wyświetlony, ale niektóre części okna nie zostaną odświeżone. Pasek postępu wciąż pokazuje wartości, nawet jeśli proces jest zakończony i pasek stanu jest również błędny.
Od tej pory możesz pracować z programem tak, jak nic się nie dzieje, ale pasek postępu i pasek statusu zostaną przerysowane tylko wtedy, gdy zminimalizujesz całe okno do paska zadań i zmaksymalizuje go ponownie. Lub jeśli uruchomisz kolejną akcję, która również będzie korzystała z paska postępu lub paska stanu.
To dziwne zachowanie spowodowało wiele zamieszania, ponieważ wyświetlane dane wydają się błędne po uaktywnieniu się ekranu ze snu i musisz zminimalizować i zmaksymalizować okno, aby zobaczyć, co naprawdę się dzieje.
Co jest nie tak?