Сегодня мы обнаружили немного странную проблему в одном из наших приложений WPF, и мы не совсем уверены, как с ней справиться. Когда мы запускаем программное обеспечение на одном из наших ноутбуков, экран переходит в спящий режим (чернеет) через некоторое время, когда пользователь не взаимодействует с ним. Само приложение все еще занято загрузкой данных из Интернета и заполнением таблиц в базе данных. Также есть индикатор выполнения и строка состояния.
Если мы пробуждаем экран простым движением мыши, программа снова отображается, но некоторые части окна не обновляются. Индикатор выполнения по-прежнему показывает значения, даже если процесс завершен, а строка состояния также неверна.
С этого момента вы можете работать с программой, как будто ничего не произошло, но индикатор выполнения и строка состояния будут перерисовываться только в том случае, если вы свернете все окно в панель задач и снова развернете его. Или если вы начнете другое действие, которое также будет использовать индикатор выполнения или строку состояния.
Это странное поведение вызвало много путаницы, потому что отображаемые данные кажутся неправильными после выхода экрана из спящего режима, и вам нужно свернуть и развернуть окно, чтобы увидеть, что на самом деле происходит.
Что здесь не так?