Как перерисовать интерфейс WPF-приложения после изменения масштаба Windows

При любом масштабе в Windows (100%, 125% и т.д.) шрифты и графика запускаемого WPF приложения отображаются чётко. Но если сменить масштаб в Windows при запущенном WPF приложении, то шрифты и графика становятся нечёткими, при этом, в неклиентской области окна отображение чёткое всегда. Если приложение перезапустить заново, то всё снова чётко отображается.

Хочется, если это возможно, что бы при изменении масштаба в Windows, запущенное приложение как то заново перерисовывалось для нормального чёткого отображения.

Вопроса вытекает два:

  1. Можно ли как то отследить событие изменения масштаба Windows в C#?
  2. Можно ли как то обновить/перерисовать/перезагрузить весь интерфейс приложения заново?

Пробовал для mainWindow вызывать InvalidateVisual() и UpdateLayout() - не помогает.


Ответы (0 шт):