In WPF, 1 unit = 1/96 of inch , so you can calculate your size in inches using this formula
you can set printDlg.PrintTicket.PageMediaSize to the paper size, and then convert the print window in this area, as shown below:
private void _print() { PrintDialog printDlg = new System.Windows.Controls.PrintDialog(); PrintTicket pt = printDlg.PrintTicket; Double printableWidth = pt.PageMediaSize.Width.Value; Double printableHeight = pt.PageMediaSize.Height.Value; Double xScale = (printableWidth - xMargin * 2) / printableWidth; Double yScale = (printableHeight - yMargin * 2) / printableHeight; this.Transform = new MatrixTransform(xScale, 0, 0, yScale, xMargin, yMargin);
source share