В блоках WPF независимы от устройства. Формула для определения фактического размера пикселя устройства:
Число пикселей на элемент WPF = ConstantWPFUnit size * monitor DPI;
Размер вашего элемента в пикселях = Пиксели в WPF Unit * MyElement.ActualWidth
Константа WPF размер единицы 1/96. Если я правильно помню, монитор DPI можно найти как свойства в классе, возвращаемом из SystemInformation.GetPrimaryMonitor или что-то подобное.
ActualWidth of FrameworkElement - это устройства, не зависящие от устройства, и это ширина, которую элемент фактически занимает после того, как выполняется макет. Просто умножьте это свойство на пиксели на каждый блок WPF, который вы вычисляете выше, и вы получите ответ.
У меня есть подозрение, что вы делаете это с большим количеством ручной кодировки. Растяжение изображений и других визуальных элементов любым желаемым способом обычно можно выполнить просто путем задания свойств на рассматриваемом элементе управления/кисти. Вы пытались сделать HorizontalAlignment = "Stretch" и VerticalAlignment = "Center" для элемента, который содержит растровое изображение?
Вы были правы, я затруднял проблему, вертикальное + горизонтальное выравнивание сделало трюк! Большое спасибо! – melculetz