小编Jiř*_*mek的帖子

在 WPF 中使用 System.Drawing.Printing.PrintDocument

我有一个 WPF 应用程序,我使用外部库来生成文档。该库将文档作为 System.Drawing.Printing.PrintDocument 返回。如何在 WPF 中打印此文档?我可以直接使用 Print() 方法,但我需要允许用户选择打印机和设置。如果我使用 WPF PrintDocument 对话框,则无法像在 WinForms dialog.Document 中那样将我的文档设置为它。有没有办法将旧的 PrintDocument 转换为一些 WPF 友好形式?

WinForms方式:

// get document for printing
PrintDocument document = exporter.GetPrintDocument();
System.Windows.Forms.PrintDialog dialog = new System.Windows.Forms.PrintDialog();
dialog.Document = document;
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    document.Print();
}
Run Code Online (Sandbox Code Playgroud)

WPF方式:

System.Windows.Controls.PrintDialog dialog = new System.Windows.Controls.PrintDialog();
if (dialog.ShowDialog() == true)
{
    // how to print old PrintDocument???
    dialog.PrintDocument(...);
}
Run Code Online (Sandbox Code Playgroud)

我也尝试在 WPF 中打开 WinForms 对话框,但这是不可能的。只是没有显示对话框。

谢谢你的帮助。

c# printing wpf

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

printing ×1

wpf ×1