0

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

4

2 回答 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 回答