Как перерисовать интерфейс WPF-приложения после изменения масштаба Windows
При любом масштабе в Windows (100%, 125% и т.д.) шрифты и графика запускаемого WPF приложения отображаются чётко. Но если сменить масштаб в Windows при запущенном WPF приложении, то шрифты и графика становятся нечёткими, при этом, в неклиентской области окна отображение чёткое всегда. Если приложение перезапустить заново, то всё снова чётко отображается.
Хочется, если это возможно, что бы при изменении масштаба в Windows, запущенное приложение как то заново перерисовывалось для нормального чёткого отображения.
Вопроса вытекает два:
- Можно ли как то отследить событие изменения масштаба Windows в C#?
- Можно ли как то обновить/перерисовать/перезагрузить весь интерфейс приложения заново?
Пробовал для mainWindow вызывать InvalidateVisual() и UpdateLayout() - не помогает.