Xceed DataGrid for WPF v7.2 Documentation
DataGridPageControl Class
Members  Example 


Xceed.Wpf.DataGrid Assembly > Xceed.Wpf.DataGrid.Print Namespace : DataGridPageControl Class
A control that determines the layout of the printed pages when a
Syntax
'Declaration
 
<StyleTypedPropertyAttribute(Property="FocusVisualStyle", StyleTargetType=System.Windows.Controls.Control)>
<XmlLangPropertyAttribute("Language")>
<UsableDuringInitializationAttribute(True)>
<RuntimeNamePropertyAttribute("Name")>
<UidPropertyAttribute("Uid")>
<TypeDescriptionProviderAttribute(MS.Internal.ComponentModel.DependencyObjectProvider)>
<NameScopePropertyAttribute("NameScope", System.Windows.NameScope)>
Public Class DataGridPageControl 
   Inherits System.Windows.Controls.Control
'Usage
 
Dim instance As DataGridPageControl
[StyleTypedProperty(Property="FocusVisualStyle", StyleTargetType=System.Windows.Controls.Control)]
[XmlLangProperty("Language")]
[UsableDuringInitialization(true)]
[RuntimeNameProperty("Name")]
[UidProperty("Uid")]
[TypeDescriptionProvider(MS.Internal.ComponentModel.DependencyObjectProvider)]
[NameScopeProperty("NameScope", System.Windows.NameScope)]
public class DataGridPageControl : System.Windows.Controls.Control 
Example
All examples in this topic assume that the grid is bound to the Orders table of the Northwind database, unless stated otherwise.
The following example demonstrates how to create a style to change the layout of the printed pages by providing a new ControlTemplate that will place the page headers and footers at the top of each page and display an orange border around the area where the grid is printed.
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"
      xmlns:local="clr-namespace:Xceed.Wpf.Documentation">
  <Grid.Resources>
    <xcdg:DataGridCollectionViewSource x:Key="cvs_employees"
                                     Source="{Binding Source={x:Static Application.Current},
                                                        Path=Employees}"/>

    <Style x:Key="page_style" TargetType="{x:Type xcdg:DataGridPageControl}">
      <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="{x:Type xcdg:DataGridPageControl}">
            <DockPanel>
              <StackPanel xcdg:DataGridPageControl.IsPageHeadersHost="True"
                          DockPanel.Dock="Top"/>
              <StackPanel xcdg:DataGridPageControl.IsPageFootersHost="True"
                          DockPanel.Dock="Top"/>
              <Border BorderThickness="2"
                      BorderBrush="Orange"
                      xcdg:DataGridPageControl.IsDataGridHost="True"
                      DockPanel.Dock="Bottom"/>
            </DockPanel>
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>
  </Grid.Resources>
  <DockPanel>
    <Button Content="Print Grid"
            Click="PrintGrid"
            DockPanel.Dock="Top"/>
    <xcdg:DataGridControl x:Name="EmployeesGrid"
                          ItemsSource="{Binding Source={StaticResource cvs_employees}}">
      <xcdg:DataGridControl.PrintView>

       <xcdg:PrintTableView PageStyle="{StaticResource page_style}">
          <xcdg:PrintTableView.PageHeaders>
            <DataTemplate>
              <TextBlock Text="Xceed WPF Documentation"
                         HorizontalAlignment="Center"
                         FontWeight="Bold"
                         FontSize="20"/>
            </DataTemplate>
            <DataTemplate>
              <TextBlock Text="Printing Example"
                         HorizontalAlignment="Center"
                         FontSize="16"/>
            </DataTemplate>
          </xcdg:PrintTableView.PageHeaders>
          <xcdg:PrintTableView.PageFooters>
            <DataTemplate>
              <StackPanel HorizontalAlignment="Right"
                          Orientation="Horizontal">
                <TextBlock Text="Page "/>
                <TextBlock Text="{xcdg:ViewBinding CurrentPageNumber}"/>
              </StackPanel>   
            </DataTemplate>
          </xcdg:PrintTableView.PageFooters>
        </xcdg:PrintTableView>
      </xcdg:DataGridControl.PrintView>
    </xcdg:DataGridControl>
  </DockPanel>
</Grid>
Inheritance Hierarchy

System.Object
   System.Windows.Threading.DispatcherObject
      System.Windows.DependencyObject
         System.Windows.Media.Visual
            System.Windows.UIElement
               System.Windows.FrameworkElement
                  System.Windows.Controls.Control
                     Xceed.Wpf.DataGrid.Print.DataGridPageControl

Requirements

Target Platforms: Windows 11, Windows 10, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

DataGridPageControl Members
Xceed.Wpf.DataGrid.Print Namespace