我想根据wxga或wvga等设备屏幕分辨率在我的应用中设置一些图标。我在许多链接中看到过App.Current.Host.Content.ScaleFactor或Application.Current.RootVisual.RenderSize。但我只能访问App.Current.Host.Content.ActualWidth或Height。即使我在wxga设备中运行应用程序,这些也总是说为480x800。我如何正确地知道分辨率?
答案 0 :(得分:1)
Windows Phone 7仅支持一种分辨率(800 * 480)。你在问Windows Phone 8吗?请查看Multi-resolution apps for 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");
}
}
}
答案 1 :(得分:1)
您针对 Windows Phone 7.1 定位了应用,因此您应该通过点击右键将应用更新为 Windows Phone 8.0操作系统项目和升级到Windows Phone 8.0