Как получить размер экрана устройства Windows Phone 8?

Я искал, как я могу получить фактический размер экрана устройства Windows Phone 8, я нашел этот метод, но он работает только с устройствами с обновлением GDR3

2 ответа

Решение

ОБНОВЛЕНО: я нашел этот метод

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) {
    }
}

Вы можете найти размер экрана с помощью

Application.Current.Host.Content.ActualWidth;

а также

Application.Current.Host.Content.ActualHeight;

На моем Windows Phone 8s они возвращают 480x800, который является правильным размером экрана.

Обратите внимание, что возвращаемые значения относятся к портретному режиму, если вы используете альбомную ориентацию, вам придется инвертировать их.

Другие вопросы по тегам