Я разрабатываю элемент управления картой в WPF с помощью С#. Я использую управление холстом, например. 400 x 200, которому назначена область карты, например. 2 000 м x 1000 м.
Масштаб карты будет: canvas_size_in_meters/real_size_in_meters.
Я хочу найти canvas_size_in_meters.
Холст.Актуальная ширина дает ширину в DIU (независимые от устройства единицы). Таким образом, 400 DIU составляет 400/96 = 4,17 дюйма, PROVIDED, что разрешение физическое моего монитора составляет 96 точек на дюйм.
Однако, используя линейку, я обнаружил, что физическое разрешение моего монитора составляет 87 точек на дюйм. (Есть только несколько мониторов, которые на самом деле имеют 96 физических dpi)
Эта разница DPI (10%) переводит на + 10% разницу в фактической ширине управления сетью на экране.
Как измерить размер элемента управления WPF в дюймах ТОЧНО и независимо от разрешения экрана и настройки DPI?