Estoy desarrollando un control de mapa en WPF con C#. Estoy usando un control canvas, p. 400 x 200 a la que se le asigna un área de mapa de, p. 2,000m x 1,000m.C# WPF resolution independent?
La escala del mapa sería: canvas_size_in_meters/real_size_in_meters.
Quiero encontrar el canvas_size_in_meters.
El canvas.ActualWidth da el ancho en DIU (Unidades independientes del dispositivo). Por lo tanto, 400 DIU es 400/96 = 4,17 pulgadas, PROPORCIONADO que la resolución física de mi monitor es de 96 ppp.
Sin embargo, usando una regla, encontré que la resolución física de mi monitor es de 87 ppp. (Hay pocos monitores que REALMENTE tengan 96 dpi físicos)
Esa diferencia DPI (10%) se traduce a una diferencia de + 10% en el ancho de control del mapa real en la pantalla.
¿Cómo mido el tamaño de un control WPF en pulgadas EXACTAMENTE e independientemente de la resolución de pantalla y la configuración de DPI?
Estaría genial. Puede ver documentos de Word y PDF, configurarlos con un zoom del 100% y ver el tamaño de página correcto. Estoy sorprendido de que no hayan intentado arreglar esto hace años :-( –