我想根据设备屏幕分辨率(如 wxga 或 wvga)在我的应用程序中设置一些图标。我在 App.Current.Host.Content.ScaleFactor 或 Application.Current.RootVisual.RenderSize 等许多链接中看到。但我只能访问 App.Current.Host.Content.ActualWidth 或 Height。即使我在 wxga 设备中运行应用程序,这些总是显示为 480x800。我如何正确知道分辨率?
问问题
135 次
2 回答
1
Windows Phone 7 仅支持一种分辨率(800*480)。你问的是Windows Phone 8吗?请查看适用于 Windows Phone 8 的多分辨率应用程序。这是您可以使用的 ResolutionHelper 类。
public enum Resolutions { WVGA, WXGA, HD720p };
public static class ResolutionHelper
{
private static bool IsWvga
{
get
{
return App.Current.Host.Content.ScaleFactor == 100;
}
}
private static bool IsWxga
{
get
{
return App.Current.Host.Content.ScaleFactor == 160;
}
}
private static bool Is720p
{
get
{
return App.Current.Host.Content.ScaleFactor == 150;
}
}
public static Resolutions CurrentResolution
{
get
{
if (IsWvga) return Resolutions.WVGA;
else if (IsWxga) return Resolutions.WXGA;
else if (Is720p) return Resolutions.HD720p;
else throw new InvalidOperationException("Unknown resolution");
}
}
}
于 2013-08-27T05:07:59.920 回答
1
您将您的应用程序定位为Windows Phone 7.1,因此您应该通过单击您的项目并升级到 Windows Phone 8.0 来更新您的应用程序以针对Windows Phone 8.0 操作系统
于 2013-08-28T00:35:02.263 回答