Hi,这是一个PrintDialog已知的bug,可能会在以后的版本中修复,如果要打印横向的XPS,可以使用XpsDocumentWriter,请参考以下代码:
PrintDialog dlg = new PrintDialog();
if (dlg.ShowDialog().GetValueOrDefault())
{
XpsDocumentWriter wt = PrintQueue.CreateXpsDocumentWriter(dlg.PrintQueue);
if (dlg.PrintTicket.PageOrientation == PageOrientation.Landscape)
{
dlg.PrintTicket.PageMediaSize = new PageMediaSize(dlg.PrintableAreaWidth, dlg.PrintableAreaHeight);
}
wt.Write(visual, dlg.PrintTicket);
}