【发布时间】:2020-10-14 14:37:35
【问题描述】:
我有一个 WPF 项目,它根据 APP 的某些元素的位置在不同的应用程序“APP”上绘制窗口(如弹出窗口)。
这些窗口的位置是根据系统 DPI(又名主显示器的 DPI)计算的。
当我在显示设置中更改主 DPI 时,窗口的位置是使用“旧”主 DPI 计算的,这会导致位置错误。
是否有某种方法可以执行这些取决于主 DPI 的计算,使用“新”主 DPI 而不是旧主 DPI?
我知道在更改主要 DPI 时,Windows 会提醒我“某些应用在您关闭并重新打开它们之前不会响应缩放更改。”但我需要找到解决方法。
谢谢
【问题讨论】:
-
您可以使用 Window.DpiChanged 事件并计算位置
标签: c# wpf windows dpi dpi-aware