Има ли начин да получите разделителната способност на екрана в приложението WinRt? Знам, че в windows phone е възможно:
var scaleFactor = DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel;
var bounds = Window.Current.Bounds;
var x = (int) (bounds.Width*scaleFactor);
var y = (int) (bounds.Height*scaleFactor);
var resolution = String.Format("{0}x{1}", Math.Max(x, y),Math.Min(x,y));
But in winrt I don't have the RawPixelsPerViewPixel method...
Някакви идеи?
Опитах се да следвам фактора на Откриване на мащабиращия фактор на екрана в Публикация в магазина за приложения на Windows 8.1:
ResolutionScale resolutionScale = DisplayInformation.GetForCurrentView().ResolutionScale;
double scale = (double)resolutionScale / 100.0;
var bounds = Window.Current.Bounds;
var x = (int)(bounds.Width * scale ) ;
var y = (int)(bounds.Height * scale );
var resolution = String.Format("{0}x{1}", Math.Max(x, y), Math.Min(x,y) );
Но получавам грешни числа, за разделителна способност 1920 x 1080 получавам „1920 x 1008“, а за разделителна способност 800 x 600 получавам „1126 x 743“