【问题标题】:Prevent blurriness when dpi changesdpi 更改时防止模糊
【发布时间】:2021-09-23 11:01:10
【问题描述】:

当用户更改系统 dpi(在设置 -> 显示中)时,WPF 窗口会变得模糊。关闭应用程序并重新启动它会再次清晰。

如何在关闭窗口的情况下再次清除窗口?

通过创建 WPF 应用程序、添加按钮并运行它来重新创建。然后如上所述更改dpi。即使再改回来也无济于事。

【问题讨论】:

  • 发生在每个 wpf 应用程序(甚至是新创建的应用程序)上?
  • @LeiYang 是的。只需创建一个,在其上放置一个按钮,然后更改系统 dpi。您会看到按钮上的文字变得模糊。
  • 我对 dpi 不是很熟悉。有这样的设置吗?是否等于“分辨率(1920*1080)”列表?
  • 要重新加载 UI 尝试关闭窗口并再次打开它。您需要自定义entry point。如果重新加载 UI 还不够,那么只需执行 restart。用户不会经常更改 DPI,对吧?
  • @Dai,我希望 wpf 应用程序能够识别 dpi by defaut。但这似乎并不理想。也许 OP 应该发布 minimal reproducible example 以便您可以重现该问题并尝试找到更好的解决方案。我只是建议一个解决方法 - 重新启动,如果在 DPI 更改之前一切正常,这应该会有所帮助。

标签: c# .net wpf windows


【解决方案1】:

正如Dai 指出的那样,添加每个显示器的 dpi-awareness 可以解决问题。

为什么,我不确定,因为这不会影响使用一台显示器的设备。但它有效。

既然似乎是many think that per-monitor dpi-awareness is on by default,那么让我指出as pointed out by Ben Voit,即it's not

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多