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?
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);
You can get everything you need about the resolution using Window and DisplayInformation
var bounds = Window.Current.Bounds;
var displayInfo = DisplayInformation.GetForCurrentView();