Xceed Toolkit Plus for WPF v5.0 Documentation
Xceed.Wpf.DataGrid Assembly / Xceed.Wpf.DataGrid Namespace / GroupHeaderControl Class
Members Example


In This Topic
    GroupHeaderControl Class
    In This Topic
    Represents the control used as a Group header, which is used to expand and collapsed its associated group as well as display information on the group's content.
    Syntax
    'Declaration
     
    <DefaultPropertyAttribute("Content")>
    <ContentPropertyAttribute("Content")>
    <LocalizabilityAttribute(LocalizationCategory.None, Readability=Readability.Unreadable)>
    <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 GroupHeaderControl 
       Inherits System.Windows.Controls.ContentControl
    'Usage
     
    Dim instance As GroupHeaderControl
    [DefaultProperty("Content")]
    [ContentProperty("Content")]
    [Localizability(LocalizationCategory.None, Readability=Readability.Unreadable)]
    [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 GroupHeaderControl : System.Windows.Controls.ContentControl 
    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 force the GroupByControl and ColumnManagerRow contained in a grid's fixed header section to occupy all the available width. By default, items in the fixed header and footer sections will only span across the width occupied by the columns.
    <Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid">
      <Grid.Resources>
        <xcdg:DataGridCollectionViewSource x:Key="cvs_orders"
                                           Source="{Binding Source={x:Static Application.Current},
                                           Path=Orders}"
                                           AutoCreateItemProperties="False">
          <xcdg:DataGridCollectionViewSource.ItemProperties>
            <xcdg:DataGridItemProperty Name="ShipCountry"/>
            <xcdg:DataGridItemProperty Name="ShipCity"/>
            </xcdg:DataGridCollectionViewSource.ItemProperties>
          </xcdg:DataGridCollectionViewSource>
         <Style TargetType="{x:Type xcdg:GroupHeaderControl}">
           <Setter Property="MinWidth"
                   Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type ScrollContentPresenter}},
                                   Path=ActualWidth}"/>
         </Style>
         <Style TargetType="{x:Type xcdg:ColumnManagerRow}">
           <Setter Property="MinWidth"
                   Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type ScrollContentPresenter}},
                                   Path=ActualWidth}"/>
         </Style>
        </Grid.Resources>
        <xcdg:DataGridControl x:Name="OrdersGrid"
                             ItemsSource="{Binding Source={StaticResource cvs_orders}}"/>
    </Grid>
    The following example demonstrates how to provide, through a style, a new GroupHeaderControl template.
    <Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid">
      <Grid.Resources>
    
        <Style TargetType="{x:Type xcdg:GroupHeaderControl}">
          <Setter Property="Template">
            <Setter.Value>
              <ControlTemplate TargetType="{x:Type xcdg:GroupHeaderControl}">
                <Border Background="Orange" BorderThickness="2">
                  <StackPanel Orientation="Horizontal">
                    <CheckBox IsChecked="{Binding RelativeSource={RelativeSource
                                          TemplatedParent}, Path=Group.IsExpanded}"/>
    
                    <ContentPresenter/>
                  </StackPanel>
                </Border>
    
              </ControlTemplate>
            </Setter.Value>
          </Setter>
        </Style>
        <xcdg:DataGridCollectionViewSource x:Key="cvs_orders"
                                         Source="{Binding Source={x:Static Application.Current},
                                                          Path=Orders}">
          <xcdg:DataGridCollectionViewSource.GroupDescriptions>
            <xcdg:DataGridGroupDescription PropertyName="ShipCountry"/>
          </xcdg:DataGridCollectionViewSource.GroupDescriptions>
        </xcdg:DataGridCollectionViewSource>
      </Grid.Resources>
      <xcdg:DataGridControl x:Name="OrdersGrid"
                            ItemsSource="{Binding Source={StaticResource cvs_orders}}"/>
    </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
                         System.Windows.Controls.ContentControl
                            Xceed.Wpf.DataGrid.GroupHeaderControl

    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

    GroupHeaderControl Members
    Xceed.Wpf.DataGrid Namespace

    DataGrid Fundamentals

    Grouping Data
    Other_Classes.html