2013-08-27 30 views
0

我想根據設備屏幕分辨率(如wxga或wvga)在我的應用中設置一些圖標。我看到很多鏈接,如App.Current.Host.Content.ScaleFactor或Application.Current.RootVisual.RenderSize。但我只能訪問App.Current.Host.Content.ActualWidth或Height。即使我正在wxga設備中運行應用程序,這些總是會說爲480x800。我如何正確知道分辨率?如何獲取Wp7中的設備分辨率

回答

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"); 
      } 
     } 
    } 
+0

我使用相同的代碼,但無法訪問ScaleFactor。是的,我正在瞄準wp7.1。但該應用程序也將在wp8設備上運行。所以我相應地想設置一些圖標 – Shilpa

+0

Windows Phone 7無法獲得Windows Phone 8的解析度。它是WP8上運行你的應用程序的WP7模擬器。最好升級你的應用程序。 –

+0

如果我在wp8 Simulator中運行應用程序,爲什麼不更改分辨率? – Shilpa

1

你的目標你的應用爲的Windows Phone 7.1,所以你應該點擊你的項目的權利升級到Windows Phone 8.0

更新應用到目標 的Windows Phone 8.0操作系統
+0

是的,我的目標是WP7.1,但我使用WP8的APP運行。所以我需要知道設備分辨率 – Shilpa

+0

非常感謝。答案不能被標記爲正確的2人 – Shilpa

+0

沒問題兄弟,祝你好運。 –