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