WPF cung cấp cho chúng ta chức năng in một Control, Container, User Control hoặc in một Window.
Để thực hiện in một Control, User Control hoặc in một Window trong WPF ta sử dụng phương thức PrintVisual trong WPF.
Đoạn mã C# sau đây sẽ làm hiển thị một hộp thoại PrintDialog và gọi phương thức PrintVisual và in ra hình ảnh của một UserControl, sử dụng phương thức PrintVisual chúng ta có thể in ra bất cứ Controls, Container, User Control, page hoặc in một Window nào.
PrintDialog printDlg = new PrintDialog(); UserControl1 uc = new UserControl1(); printDlg.PrintVisual(uc, "User Control Printing.");
Đoạn mã trên đây sẽ làm hiển thị hộp thoại PrintDialog, và tiếp theo là in ra UserControl1.
Nếu chúng ta muốn in ra một Grid thì chỉ việc điền tên của Grid đó vào thay cho UserControl1, như dưới đây:
PrintDialog printDlg = new PrintDialog(); printDlg.PrintVisual(grid1, "Grid Printing.");
Để in ra cửa sổ hiện tại, ta chỉ việc sử dụng mã sau
PrintDialog printDlg = new PrintDialog(); printDlg.PrintVisual(this, "Window Printing.");
Chúc các bạn thành công.