c# - 在 Win10 UWP App 中获取屏幕分辨率

标签 c# xaml windows-runtime windows-10 uwp

由于 UWP 应用程序在普通桌面系统上以窗口模式运行,因此获取屏幕分辨率的“旧”方式将不再有效。

Window.Current.Bounds 的旧分辨率类似于 shown in.

还有其他方法可以获取(主)显示器的分辨率吗?

最佳答案

为了进一步改进其他答案,以下代码还考虑了比例因子,例如对于我的 Windows 显示器(正确返回 3200x1800)和 Lumia 930(1920x1080)的 300%。

var bounds = ApplicationView.GetForCurrentView().VisibleBounds;
var scaleFactor = DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel;
var size = new Size(bounds.Width*scaleFactor, bounds.Height*scaleFactor);

如其他答案所述,这只会在更改根框架的大小之前在桌面上返回正确的大小。

关于c# - 在 Win10 UWP App 中获取屏幕分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31936154/

相关文章:

c# - PreviewMouseLeftButtonDown 干扰点击选择

c# - MVVM:如何从 View 模型调用 View 方法?

mvvm - 如何将 View 模型绑定(bind)到 MVVMCROSS 中的 UserControl?

c# - 将泛型类型的实例返回到在运行时解析的函数

C# Excel 如何使用单元格链接添加超链接

c# - 如何在 WPF C# 中对一行进行部分着色(来自代码隐藏)?

xaml - GridView - 在已选择的项目上触发 SelectionChanged 事件

c# - C#获取图片的高和宽的方法

c# - C# 中的变量泛型返回类型

c# - 如何将 List<string> 中的 Uri 转换为 List<Uri>?