PageRangeSelection PageRangeSelection PageRangeSelection PageRangeSelection Enum


Specifies whether all the pages or only a limited range will be processed by an operation, usually printing.

public enum class PageRangeSelection
public enum PageRangeSelection
type PageRangeSelection = 
Public Enum PageRangeSelection


AllPages AllPages AllPages AllPages 0

All pages.

CurrentPage CurrentPage CurrentPage CurrentPage 2

The current page.

SelectedPages SelectedPages SelectedPages SelectedPages 3

The selected pages.

UserPages UserPages UserPages UserPages 1

A user-specified range of pages.


The following example shows how to use the enumeration to set the PageRangeSelection property by using Extensible Application Markup Language (XAML) and code.

<Button Width="200" Click="InvokePrint">Invoke PrintDialog</Button>


private void InvokePrint(object sender, RoutedEventArgs e)
        // Create the print dialog object and set options
        PrintDialog pDialog = new PrintDialog();
        pDialog.PageRangeSelection = PageRangeSelection.AllPages;
        pDialog.UserPageRangeEnabled = true;

        // Display the dialog. This returns true if the user presses the Print button.
        Nullable<Boolean> print = pDialog.ShowDialog();
        if (print == true)
            XpsDocument xpsDocument = new XpsDocument("C:\\FixedDocumentSequence.xps", FileAccess.ReadWrite);
            FixedDocumentSequence fixedDocSeq = xpsDocument.GetFixedDocumentSequence();
            pDialog.PrintDocument(fixedDocSeq.DocumentPaginator, "Test print job");
Private Sub InvokePrint(ByVal sender As Object, ByVal e As RoutedEventArgs)
		' Create the print dialog object and set options
		Dim pDialog As New PrintDialog()
		pDialog.PageRangeSelection = PageRangeSelection.AllPages
		pDialog.UserPageRangeEnabled = True

		' Display the dialog. This returns true if the user presses the Print button.
		Dim print? As Boolean = pDialog.ShowDialog()
		If print = True Then
			Dim xpsDocument As New XpsDocument("C:\FixedDocumentSequence.xps", FileAccess.ReadWrite)
			Dim fixedDocSeq As FixedDocumentSequence = xpsDocument.GetFixedDocumentSequence()
			pDialog.PrintDocument(fixedDocSeq.DocumentPaginator, "Test print job")
		End If
End Sub


This enumeration is primarily used as the value of the PageRangeSelection property of the PrintDialog.

Applies to