Physical screen size on Windows 8.1 Store App / Screen diagonal with C# and WinRT
We’re working with a Windows 8.1 Store App where we need to know the physical screen size of the display. Here’s some simple code which seems to do the trick in most cases:
var width = Window.Current.Bounds.Width * (int)DisplayProperties.ResolutionScale / 100; var height = Window.Current.Bounds.Height * (int)DisplayProperties.ResolutionScale / 100; var dpi = DisplayInformation.GetForCurrentView().RawDpiY; var screenDiagonal = Math.Sqrt(Math.Pow(width / dpi, 2) + Math.Pow(height / dpi, 2)); return screenDiagonal.ToString();
Please note that the DPI will return 0 if you have two displays in duplicate mode: http://msdn.microsoft.com/en-us/library/windows/apps/windows.graphics.display.displayinformation.rawdpix