> 文档中心 > WPF 入门教程打印控件

WPF 入门教程打印控件

在 WPF 中打印控件、用户控件或窗口

在 WPF 中,Visual 是一个对象,它是所有用户界面的父类,包括 UIElement、Containers、Controls、UserControls 甚至 Viewport3DVisual。如果您注意到所有控件或用户控件类,它们都是从 UIElement 类继承的。

PrintVisual打印一个 Visual 对象。这意味着,通过使用 PrintVisual 方法,我们可以打印任何控件、容器、窗口或用户控件。

下面的代码片段创建了一个 PrintDialog 对象,并通过传递一个 UserControl 来调用它的 PrintVisual 方法来打印 UserControl。使用此方法,我们可以打印 WPF 中的任何控件,包括窗口、页面或列表框。

PrintDialog printDlg = new PrintDialog();  UserControl1 uc = new UserControl1();  printDlg.PrintVisual(uc, "User Control Printing.");   

如果要打印Grid控件或任何其他控件,该怎么办?

如上所述,在WPF中打印任何控件都是相同的过程。只需在PrintDialog的PrintVisual方法中传递Grid或其他控件。

PrintDialog printDlg = new PrintDialog();  printDlg.PrintVisual(grid1, "Grid Printing.");  

那么打印整个Window呢?

对于整个窗口,你可以传递window对象或者这个关键字。这一次,你传递“This”,这是你正在写这段代码的当前窗口的对象。

PrintDialog printDlg = new PrintDialog();  printDlg.PrintVisual(this, "Window Printing.");