我有一个在 .NET 6 中创建的 WPF 应用程序,在 Windows 10 上运行
给定一个具有两台显示器的系统,其中一台显示器设置为 100% 缩放,另一台设置为 200% 缩放。如何获取应用程序窗口当前所在显示器的 DPI 缩放比例?
我尝试过使用VisualTreeHelper.GetDpi()
我在窗口经过的地方。但它始终返回主显示器的缩放比例(在 Windows 10 显示设置中的“将此设为我的主显示器”中选中的显示器)
我有一个在 .NET 6 中创建的 WPF 应用程序,在 Windows 10 上运行
给定一个具有两台显示器的系统,其中一台显示器设置为 100% 缩放,另一台设置为 200% 缩放。如何获取应用程序窗口当前所在显示器的 DPI 缩放比例?
我尝试过使用VisualTreeHelper.GetDpi()
我在窗口经过的地方。但它始终返回主显示器的缩放比例(在 Windows 10 显示设置中的“将此设为我的主显示器”中选中的显示器)
将文件添加
app.manifest
到您的应用程序并打开每个显示器 DPI 感知,如GitHub 上所示:然后你应该能够使用
VisualTreeHelper.GetDpi
API 获取当前显示器的 DPI: