Xceed DataGrid for WPF v7.3 Documentation
Xceed.Wpf.DataGrid Assembly / Xceed.Wpf.DataGrid.Print Namespace / DataGridPageControl Class
Members Example


In This Topic
    DataGridPageControl Class
    In This Topic
    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