ARTICLE

Printing a Control in WPF using VB.NET

Posted by Dinesh Beniwal Articles | WPF using VB.NET July 02, 2010
This code snippet explains how to print a control, user control, container, or a Window in WPF using VB.NET.
 
Reader Level:

HTML clipboard

Print a Control, User Control, or Window in WPF

In WPF, a Visual is an object that is parent class of all user interfaces including UIElement, Containers, Controls, UserControls, and even Viewport3DVisual. If you notice all control or user controls classes, they are inherited from a UIElement class.

The PrintVisual print a Visual object. That means, by using the PrintVisual method, we can print any control, container, Window or user control.

The following code snippet in creates a PrintDialog object and calls its PrintVisual method by passing a UserControl to print the UserControl. Using this method, we can print any controls in WPF including a Window, page, or a ListBox.   

        Dim printDlg As New PrintDialog()
        Dim uc As New UserControl1()
        printDlg.PrintVisual(uc, "User Control Printing.")

What if you want to print a Grid control or any other control?

As said above, printing any control in WPF is same process. Just pass the Grid or other control in the PrintVisual method of PrintDialog.

        Dim printDlg As New PrintDialog()
        printDlg.PrintVisual(grid1, "Grid Printing.")

How about printing the entire Window?

For entire window, you can either pass the window object or this keyword. This time, you pass "this" that is the object of current Window where you are writing this code.

        Dim printDlg As New PrintDialog()
        printDlg.PrintVisual(Me, "Window Printing.")
 

Login to add your contents and source code to this article
share this article :
post comment
 
Nevron Diagram
Become a Sponsor
PREMIUM SPONSORS
  • ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
    ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications. Visit DynamicPDF here
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor