web-dev-qa-db-ja.com

Windows Phone 8.1 XAMLでデバイスの画面解像度を取得する

Windows Phone 8では、DeviceExtendedPropertiesまたはApplication.Current.Host.Content.ScaleFactorを使用して画面解像度を取得できます。これはWindows Phone 8.1 XAMLでは機能しません。

Windows Phone 8.1 XAMLで画面解像度を取得する方法が見つかりませんでした。方法はありますか?

20
Igor Kulman

WinRT APIを使用する場合、_Windows.UI.Xaml.Window.Current.Bounds_(高さと幅)で画面解像度を取得できます。

実際の解像度を得るには、これらの値にスケール係数を掛ける必要があります。 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);
_
31
Kevin Gosse

Window および DisplayInformation を使用して、解像度について必要なすべてのものを取得できます。

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