通常,我使用Application.Current.Host.Content.ScaleFactor来检查设备的分辨率,但是现在720p和1080p的值是相同的。
那么,他们有什么区别呢?谢谢!
发布于 2014-01-03 13:31:48
下面是给出正确的缩放因子的代码片段,即使对于1080 p设备也是如此:
public int ScaleFactor
{
get
{
object physicalScreenResolutionObject;
if (DeviceExtendedProperties.TryGetValue("PhysicalScreenResolution", out physicalScreenResolutionObject))
{
var physicalScreenResolution = (Size)physicalScreenResolutionObject;
return (int)(physicalScreenResolution.Width / 4.8);
}
return Application.Current.Host.Content.ScaleFactor;
}
}以下是每个比例因数值的相应分辨率:
来源:在Windows中处理1080 p就像一个专业版!
发布于 2014-01-03 13:13:59
请遵循本文phone/b/wpdev/archive/2013/11/22/taking-advantage-of-large-screen-windows-phones.aspx中详细介绍的指导
发布于 2014-01-03 13:35:13
这是来自诺基亚开发者博客的东西。
public static Size DisplayResolution
{
get
{
if (Environment.OSVersion.Version.Major<8)
return new Size(480,800);
int scaleFactor=(int) GetProperty(System.Windows.Application.Current.Host.Content, "ScaleFactor");
switch (scaleFactor)
{
case 100:
return new Size(480, 800);
case 150:
return new Size(720, 1280);
case 160:
return new Size(768, 1280);
}
return new Size(480, 800);
}
}
private static object GetProperty(object instance, string name)
{
var getMethod= instance.GetType().GetProperty(name).GetGetMethod();
return getMethod.Invoke(instance, null);
}希望这能有所帮助!
https://stackoverflow.com/questions/20903994
复制相似问题