如何在Wp7中获取设备分辨率

时间:2013-08-27 04:56:42

标签: windows-phone-7 windows-phone-8 screen-resolution

我想根据wxga或wvga等设备屏幕分辨率在我的应用中设置一些图标。我在许多链接中看到过App.Current.Host.Content.ScaleFactor或Application.Current.RootVisual.RenderSize。但我只能访问App.Current.Host.Content.ActualWidth或Height。即使我在wxga设备中运行应用程序,这些也总是说为480x800。我如何正确地知道分辨率?

2 个答案:

答案 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