Using FixedDocument, DocumentViewer and PrintDialog you can easily create your own print and/or print preview for RadGridView for WPF.


I’ve made two extension methods Print() and PrintPreview() to illustrate how to turn the grid into a print friendly document in few lines of code:

public static void PrintPreview(this GridViewDataControl source)
    var window = new Window()
        Title = "Print Preview",
        Content = new DocumentViewer()
            Document = ToFixedDocument(ToPrintFriendlyGrid(source), new PrintDialog())


public static void Print(this GridViewDataControl source, bool showDialog)
    var dialog = new PrintDialog();
    var dialogResult = showDialog ? dialog.ShowDialog() : true;

    if (dialogResult == true)
        var viewer = new DocumentViewer();
        viewer.Document = ToFixedDocument(ToPrintFriendlyGrid(source), dialog);
        dialog.PrintDocument(viewer.Document.DocumentPaginator, "");

About the Author

Vladimir Enchev

is Director of Engineering, Native Mobile UI & Frameworks