У меня есть приложение WPF с пользовательским элементом управления. Пользовательский элемент управления отображает себя в растровое изображение, и я могу использовать следующий код, чтобы выяснить, какое разрешение использовать, чтобы растровое изображение соответствовало разрешению экрана.
PresentationSource ps = PresentationSource.FromVisual(this);
if (ps != null)
{
pixelsPerLogicalUnitX = ps.CompositionTarget.TransformToDevice.M11;
pixelsPerLogicalUnitY = ps.CompositionTarget.TransformToDevice.M22;
}
К сожалению, когда я отправляю этот элемент управления на принтер через PrintDialog, PresentationSource имеет значение null, поэтому я не знаю DPI.
Есть ли способ получить DPI (или PresentationSource) для принтера?