20
votes

In Windows Phone 8 I can get the screen resolution using DeviceExtendedProperties or Application.Current.Host.Content.ScaleFactor. None of this works in Windows Phone 8.1 XAML.

I could not find a way how to get the screen resolution in Windows Phone 8.1 XAML, is there a way?

2

2 Answers

31
votes

When using the WinRT API, you can retrieve the screen resolution with Windows.UI.Xaml.Window.Current.Bounds (Height and Width).

You need to multiply those values by the scale factor to get the real resolution. You can retrieve the scale factor by calling DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel

var scaleFactor = DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel;

Debug.WriteLine("The current resolution is {0}x{1}", Window.Current.Bounds.Width * scaleFactor, Window.Current.Bounds.Height * scaleFactor);
10
votes

You can get everything you need about the resolution using Window and DisplayInformation

var bounds = Window.Current.Bounds;
var displayInfo = DisplayInformation.GetForCurrentView();