I was searching for how can i get the Actual screen size of a windows phone 8 device , i've found this method but it work only with Devices With GDR3 update
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can find the screen size by using
Application.Current.Host.Content.ActualWidth;
and
Application.Current.Host.Content.ActualHeight;
On my Windows phone 8s they return 480x800 which is the correct screen size.
Note that the values returned are relative to portrait mode, if you're using landscape you'll have to invert them.
回答2:
UPDATED : i've found this method
private void getScreenInfo()
{
double dpix = -1.01;
double screensize = -1.01;
double dpiy = -1.01;
Size res;
try {
dpix = (double)DeviceExtendedProperties.GetValue("RawDpiX");
dpiy = (double)DeviceExtendedProperties.GetValue("RawDpiY");
res = (Size)DeviceExtendedProperties.GetValue("PhysicalScreenResolution");
screensize = Math.Sqrt(Math.Pow(res.Width / dpix, 2) + Math.Pow(res.Height / dpiy, 2));
}
catch (Exception e) {
}
}