Подпишись на наш Twitter

Быть в курсе появления новых статей!

В Windows Forms, размеры контролов задаются с помощью пикселей. В WPF, размеры задаются с помощью WPF единиц (WPF Units).

1 WPF единица = 1/96 дюйма. Это означает, что при 96 точек на дюйм (типичные), 1 WPF единица = 1 пиксель.

Но это означает, что в 120 точек на дюйм, 1 WPF блока = 1,25 пикселей. (120/96)

Потому что все в WPF GUI использует WPF единицы для размеров, все элементы управления правильно изменяют размеры на основе системы DPI. Причина этого в том, что они могут иметь такими же физические размеры на устройстве, которое имеют более высокую плотность пикселей (точек на дюйм). 96 ед кнопка будет 1" в ширину на 96 точек на дюйм устройства и 1" шириной на 120 точек на дюйм устройстве (потому что он масштабируется до 120 пикселей).

Это же масштабирование может быть сделано в Windows Forms, с помощью использования свойства формы AutoScaleMode. Но в WPF, это делается автоматически.

Полная формула: пиксели = (WPF Units) * (DPI/96)

Оригинал: #23 – WPF Units




Дата публикации: 04.08.2010 12:00

Ярлыки: DPI, WPF, WPF Units