PrintHelper Class
Provides methods to display a Print Preview for links, grids and reports.
Namespace: DevExpress.Xpf.Printing
Assembly: DevExpress.Xpf.Printing.v17.2.dll
Declaration
Remarks
To create a custom Print Preview window, use the DocumentPreviewWindow class.
Example
This example demonstrates how to use SimpleLink to print data from a non-hierarchical datasource.
To do this, perform the following steps.
- Create a DataTemplate for a single detail row and assign it to the SimpleLink.DetailTemplate property;
- Set the SimpleLink.DetailCount property to the total count of data rows in a data source;
- Handle the SimpleLink.CreateDetail event, and provide data for its CreateAreaEventArgs.Data parameter;
- Call the LinkBase.CreateDocument method to generate report pages.
Note
A complete sample project is available at: https://github.com/DevExpress-Examples/how-to-use-the-simple-link-e1673
using System;
using System.Globalization;
using System.Windows;
using DevExpress.Xpf.Printing;
// ...
string[] data;
private void button1_Click(object sender, RoutedEventArgs e) {
// Create an array of strings.
data = CultureInfo.CurrentCulture.DateTimeFormat.DayNames;
// Create a link and specify a template and detail count for it.
SimpleLink link = new SimpleLink();
link.DetailTemplate = (DataTemplate)Resources["dayNameTemplate"];
link.DetailCount = data.Length;
// Create a document.
link.CreateDetail += new EventHandler<CreateAreaEventArgs>(link_CreateDetail);
// Show a Print Preview window.
PrintHelper.ShowPrintPreviewDialog(this, link);
}
void link_CreateDetail(object sender, CreateAreaEventArgs e) {
e.Data = data[e.DetailIndex];
}
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the PrintHelper class.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.