У меня есть приложение WP8, которое использует элемент управления WebBrowser. Внутри элемента управления я загружаю изображение, и я хочу, чтобы он был точно шириной телефона. У меня проблемы с этим.
В коде я получаю ширину экрана и масштабный коэффициент:
var initalWidth = Application.Current.Host.Content.ActualWidth;
var factor = Application.Current.Host.Content.ScaleFactor / 100.0;
var screenWidth = (initalWidth / factor).ToString();
Затем я передаю screenWidth в свой html, который загружается в элемент управления браузера, который устанавливает ширину моего изображения.
Это поведение, которое я вижу:
Lumia 520
initial width= 480
factor = 1
screenWidth = 480
Желаемый результат: Изображение в точности соответствует ширине телефона.
Lumia 920
initial width= 480
factor = 1.6
screenWidth = 300
Нежелательный результат: изображение около 80 пикселей слишком мало для экрана.
Я не понимаю, почему он работает на 520, а не на 920. Я здесь что-то не так?
В моем HTML-коде я использую:
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
а также
@-ms-viewport {
width: device-width;
}
Я не уверен, чего ты хочешь. Потому что вы получаете правильное решение? Если вы хотите, чтобы они заполнили одно и то же пространство в пикселях, это то, что происходит сейчас. Если вы хотите, чтобы они заполнили одно и то же относительное пространство, вы не должны использовать scalefactor '?