Get device screen resolution in Windows Phone 8.1

2019-01-17 20:58发布

问题:

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?

回答1:

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);


回答2:

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

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