バージョン

GroupBy_Styles.xaml

XAML の場合:

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:igPrim="http://schemas.infragistics.com/xaml/primitives"
    xmlns:igBase="http://schemas.infragistics.com/xaml"
    xmlns:ig="http://schemas.infragistics.com/xaml"
    xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows">
    <!-- Brushes -->
    <LinearGradientBrush x:Key="HeaderHoverBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
        <LinearGradientBrush.GradientStops>
            <GradientStopCollection>
                <GradientStop Offset="0" Color="#FF3AB5E9"/>
                <GradientStop Offset="0.37" Color="#FF467A97"/>
                <GradientStop Offset="1" Color="#FF216E99"/>
            </GradientStopCollection>
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="closeBtnHover" StartPoint="0,0" EndPoint="0,1">
        <LinearGradientBrush.GradientStops>
            <GradientStopCollection>
                <GradientStop Offset="0" Color="#FF3AB5E9"/>
                <GradientStop Offset="0.37" Color="#FF467A97"/>
                <GradientStop Offset="1" Color="#FF216E99"/>
            </GradientStopCollection>
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="closeBtnPressed" StartPoint="0,0" EndPoint="0,1">
        <LinearGradientBrush.GradientStops>
            <GradientStopCollection>
                <GradientStop Offset="0" Color="#FF718496"/>
                <GradientStop Offset="1" Color="#FF2E363F"/>
            </GradientStopCollection>
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="HeaderNormalBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
        <LinearGradientBrush.GradientStops>
            <GradientStopCollection>
                <GradientStop Offset="0" Color="#FF216E99"/>
                <GradientStop Offset="0.37" Color="#FF467A97"/>
                <GradientStop Offset="1" Color="#FF3AB5E9"/>
            </GradientStopCollection>
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>
    <SolidColorBrush x:Key="HeaderNormalForegroundBrush" Color="White"/>
    <SolidColorBrush x:Key="HeaderMovingBackgroundBrush" Color="#FFA8A8A8"/>
    <LinearGradientBrush x:Key="HeaderCellGlyphBrush" StartPoint="0,0" EndPoint="0,1">
        <LinearGradientBrush.GradientStops>
            <GradientStopCollection>
                <GradientStop Offset="0" Color="#FFa3aeb9"/>
                <GradientStop Offset="0.37" Color="#FF8399a9"/>
                <GradientStop Offset="0.370" Color="#FF718597"/>
                <GradientStop Offset="1" Color="#FF617583"/>
            </GradientStopCollection>
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="LightHeaderCellGlyphBrush" StartPoint="0,0" EndPoint="0,1">
        <LinearGradientBrush.GradientStops>
            <GradientStopCollection>
                <GradientStop Offset="0" Color="#FFEEF0F1"/>
                <GradientStop Offset="1" Color="#FFF9FBFD"/>
            </GradientStopCollection>
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>
    <Style x:Key="GroupByHeaderCloseBtn" TargetType="Button">
        <Setter Property="VerticalAlignment" Value="Center" />
        <Setter Property="HorizontalAlignment" Value="Center" />
        <Setter Property="Padding" Value="0,0,0,1" />
        <Setter Property="Cursor" Value="Hand"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Grid Background="Transparent">
                        <vsm:VisualStateManager.VisualStateGroups>
                            <vsm:VisualStateGroup x:Name="CommonStates">
                                <vsm:VisualState x:Name="Normal"/>
                                <vsm:VisualState x:Name="MouseOver">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="centerFill" Storyboard.TargetProperty="Fill">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="{StaticResource closeBtnHover}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </vsm:VisualState>
                                <vsm:VisualState x:Name="Pressed">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="centerFill" Storyboard.TargetProperty="Fill">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="{StaticResource closeBtnPressed}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </vsm:VisualState>
                                <vsm:VisualState x:Name="Disabled"/>
                            </vsm:VisualStateGroup>
                            <vsm:VisualStateGroup x:Name="FocusStates">
                                <vsm:VisualState x:Name="Focused"/>
                                <vsm:VisualState x:Name="Unfocused"/>
                            </vsm:VisualStateGroup>
                        </vsm:VisualStateManager.VisualStateGroups>
                        <Ellipse x:Name="shadow" Fill="#59000000"/>
                        <Ellipse x:Name="centerFill" Fill="{StaticResource HeaderCellGlyphBrush}" Stroke="White" Margin="0,0,0,1"/>
                        <ContentPresenter x:Name="contentPresenter" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    <SolidColorBrush x:Key="CellItemSelectedBorderBrush" Color="Transparent" />
    <!-- GroupByHeaderCellControl styling -->
    <Style TargetType="igPrim:GroupByHeaderCellControl" x:Key="groupByHeaderStyle">
        <Setter Property="Background" Value="{StaticResource HeaderNormalBackgroundBrush}"   />
        <Setter Property="Foreground" Value="{StaticResource HeaderNormalForegroundBrush}"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="igPrim:GroupByHeaderCellControl">
                    <igPrim:SimpleClickableContainer BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
                        <igBase:Commanding.Command>
                            <ig:XamGridColumnCommandSource EventName="SimpleClick" CommandType="SortToggle"/>
                        </igBase:Commanding.Command>
                        <Grid>
                            <Grid Margin="-12,1,0,1" x:Name="Root">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="13"/>
                                    <ColumnDefinition Width="*"/>
                                    <ColumnDefinition Width="12"/>
                                </Grid.ColumnDefinitions>
                                <Border x:Name="groupStroke" Grid.ColumnSpan="2" BorderThickness="0,1,0,1">
                                    <Border.BorderBrush>
                                        <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                                            <LinearGradientBrush.GradientStops>
                                                <GradientStopCollection>
                                                    <GradientStop Offset="0" Color="#FF627684"/>
                                                    <GradientStop Offset="1" Color="#FF6dbdd1"/>
                                                </GradientStopCollection>
                                            </LinearGradientBrush.GradientStops>
                                        </LinearGradientBrush>
                                    </Border.BorderBrush>
                                </Border>
                                <Border x:Name="fill" Background="{TemplateBinding Background}" Grid.Column="1" Margin="0,1,0,1"/>
                                <Border x:Name="first" Background="{TemplateBinding Background}" Visibility="Collapsed" CornerRadius="2,0,0,2" Margin="16,1,0,1" />
                                <Path x:Name="left" Width="12"  Fill="{TemplateBinding Background}"  Grid.Column="0" HorizontalAlignment="Right"  Stretch="Fill" Data="M 0,26 C0,26 12,26 12,26 12,26 12,0 12,0 12,0 0,0 0,0 0,0 10,11 10,11 11,12 11,14 10,15 10,15 0,26 0,26 z" UseLayoutRounding=" Margin="0,1,0,1"/>
                                <Path x:Name="right" Width="11" Fill="{TemplateBinding Background}" Grid.Column="2" HorizontalAlignment="Left"  Stretch="Fill" Data="M 0,0 C0,0 0,26 0,26 0,26 10,15 10,15 11,14 11,12 10,11 10,11 0,0 0,0 z" Margin="0,1,0,1"/>
                                <Border x:Name="fillHover" Visibility="Collapsed" Background="{StaticResource HeaderHoverBackgroundBrush}" Grid.Column="1" Margin="0,1,0,1"/>
                                <Border x:Name="firstHover" Opacity="0" Background="{StaticResource HeaderHoverBackgroundBrush}" Visibility="Collapsed" CornerRadius="2,0,0,2" Margin="16,1,0,1" />
                                <Path x:Name="leftHover" Opacity="0" Width="12"  Fill="{StaticResource HeaderHoverBackgroundBrush}"  Grid.Column="0" HorizontalAlignment="Right"  Stretch="Fill" Data="M 0,26 C0,26 12,26 12,26 12,26 12,0 12,0 12,0 0,0 0,0 0,0 10,11 10,11 11,12 11,14 10,15 10,15 0,26 0,26 z" UseLayoutRounding=" Margin="0,1,0,1"/>
                                <Path x:Name="rightHover" Opacity="0" Width="11" Fill="{StaticResource HeaderHoverBackgroundBrush}" Grid.Column="2" HorizontalAlignment="Left"  Stretch="Fill" Data="M 0,0 C0,0 0,26 0,26 0,26 10,15 10,15 11,14 11,12 10,11 10,11 0,0 0,0 z" Margin="0,1,0,1"/>
                                <Border x:Name="fillMoving" Visibility="Collapsed" Background="{StaticResource HeaderMovingBackgroundBrush}" Grid.Column="1" Margin="0,1,0,1"/>
                                <Border x:Name="firstMoving" Opacity="0" Background="{StaticResource HeaderMovingBackgroundBrush}" Visibility="Collapsed" CornerRadius="2,0,0,2" Margin="16,1,0,1" />
                                <Path x:Name="leftMoving" Opacity="0" Width="12"  Fill="{StaticResource HeaderMovingBackgroundBrush}"  Grid.Column="0" HorizontalAlignment="Right"  Stretch="Fill" Data="M 0,26 C0,26 12,26 12,26 12,26 12,0 12,0 12,0 0,0 0,0 0,0 10,11 10,11 11,12 11,14 10,15 10,15 0,26 0,26 z" UseLayoutRounding=" Margin="0,1,0,1"/>
                                <Path x:Name="rightMoving" Opacity="0" Width="11" Fill="{StaticResource HeaderMovingBackgroundBrush}" Grid.Column="2" HorizontalAlignment="Left"  Stretch="Fill" Data="M 0,0 C0,0 0,26 0,26 0,26 10,15 10,15 11,14 11,12 10,11 10,11 0,0 0,0 z" Margin="0,1,0,1"/>
                                <Path
									x:Name="leftBevelHighlight"
									Margin="0,1,0,1"
									Width="11.75"
									HorizontalAlignment="Right"
									Stretch="Fill"
									Data="M 1,26 C1,26 11,15 11,15 12,14 12,12 11,11 11,11 1,0 1,0 1,0 0,0 0,0 0,0 10,11 10,11 11,12 11,14 10,15 10,15 0,26 0,26 0,26 1,26 1,26 z"
									Fill="#FFFFFFFF" />
                                <Grid Grid.Column="1">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition></ColumnDefinition>
                                        <ColumnDefinition Width="Auto"></ColumnDefinition>
                                    </Grid.ColumnDefinitions>
                                    <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Grid.Column="0"/>
                                    <Path x:Name="SortedDescending" Grid.Column="3" Fill="{StaticResource LightHeaderCellGlyphBrush}" HorizontalAlignment="Right" VerticalAlignment="Center" Opacity="0" Data="M 0 0 L 4 4 L 8 0 Z" Margin="0,0,5,0"/>
                                    <Path x:Name="SortedAscending" Grid.Column="3" Fill="{StaticResource LightHeaderCellGlyphBrush}" HorizontalAlignment="Right" VerticalAlignment="Center" Opacity="0" Data="M0,4 L8,4 L4,0 z" Margin="0,0,5,0"/>
                                </Grid>
                                <Button  Width="12" Height="13" x:Name="closeButton" Opacity="0" HorizontalAlignment="Center" VerticalAlignment="Top" Grid.Column="2">
                                    <Path Width="4" Height="4"  Fill="#FFFFFFFF" Data="M 0,0 C0,0 0,1 0,1 0,1 1,1 1,1 1,1 1,3 1,3 1,3 0,3 0,3 0,3 0,4 0,4 0,4 1,4 1,4 1,4 1,3 1,3 1,3 3,3 3,3 3,3 3,4 3,4 3,4 4,4 4,4 4,4 4,3 4,3 4,3 3,3 3,3 3,3 3,1 3,1 3,1 4,1 4,1 4,1 4,0 4,0 4,0 3,0 3,0 3,0 3,1 3,1 3,1 1,1 1,1 1,1 1,0 1,0 1,0 0,0 0,0 z"/>
                                    <igBase:Commanding.Command>
                                        <ig:XamGridColumnCommandSource EventName="Click" CommandType="RemoveGroupBy" />
                                    </igBase:Commanding.Command>
                                </Button>
                            </Grid>
                        </Grid>
                        <vsm:VisualStateManager.VisualStateGroups>
                            <vsm:VisualStateGroup x:Name="CommonStates">
                                <vsm:VisualState x:Name="Normal">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="closeButton" Storyboard.TargetProperty="Opacity">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </vsm:VisualState>
                                <vsm:VisualState x:Name="MouseOver">
                                    <Storyboard >
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="leftHover" Storyboard.TargetProperty="Opacity">
                                            <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="rightHover" Storyboard.TargetProperty="Opacity">
                                            <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="firstHover" Storyboard.TargetProperty="Opacity">
                                            <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="fillHover" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="closeButton" Storyboard.TargetProperty="Opacity">
                                            <EasingDoubleKeyFrame KeyTime="00:00:00.3000000" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </vsm:VisualState>
                                <vsm:VisualState x:Name="Moving">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="leftMoving" Storyboard.TargetProperty="Opacity">
                                            <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="rightMoving" Storyboard.TargetProperty="Opacity">
                                            <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="firstMoving" Storyboard.TargetProperty="Opacity">
                                            <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="fillMoving" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="groupStroke" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Collapsed</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="leftBevelHighlight" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Collapsed</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </vsm:VisualState>
                            </vsm:VisualStateGroup>
                            <vsm:VisualStateGroup x:Name="FirstStates">
                                <vsm:VisualState x:Name="NotFirst" />
                                <vsm:VisualState x:Name="First">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="fill" Storyboard.TargetProperty="(Border.CornerRadius)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <CornerRadius>2,0,0,2</CornerRadius>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="fillHover" Storyboard.TargetProperty="(Border.CornerRadius)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00" >
                                                <DiscreteObjectKeyFrame.Value>
                                                    <CornerRadius>2,0,0,2</CornerRadius>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="fillMoving" Storyboard.TargetProperty="(Border.CornerRadius)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00" >
                                                <DiscreteObjectKeyFrame.Value>
                                                    <CornerRadius>2,0,0,2</CornerRadius>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="groupStroke" Storyboard.TargetProperty="Margin">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Thickness>13,0,0,0</Thickness>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="groupStroke" Storyboard.TargetProperty="(Border.CornerRadius)">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00" >
                                                <DiscreteObjectKeyFrame.Value>
                                                    <CornerRadius>2,0,0,2</CornerRadius>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="first" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="firstHover" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="firstMoving" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="left" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Collapsed</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="leftHover" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Collapsed</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="leftMoving" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Collapsed</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="leftBevelHighlight" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Collapsed</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </vsm:VisualState>
                            </vsm:VisualStateGroup>
                            <vsm:VisualStateGroup x:Name="LastStates">
                                <vsm:VisualState x:Name="NotLast" />
                                <vsm:VisualState x:Name="Last"/>
                            </vsm:VisualStateGroup>
                            <vsm:VisualStateGroup x:Name="SortedStates">
                                <vsm:VisualState x:Name="NotSorted">
                                </vsm:VisualState>
                                <vsm:VisualState x:Name="Ascending">
                                    <Storyboard >
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SortedAscending" Storyboard.TargetProperty="Opacity">
                                            <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </vsm:VisualState>
                                <vsm:VisualState x:Name="Descending">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="SortedDescending" Storyboard.TargetProperty="Opacity">
                                            <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </vsm:VisualState>
                            </vsm:VisualStateGroup>
                        </vsm:VisualStateManager.VisualStateGroups>
                    </igPrim:SimpleClickableContainer>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    <!-- GroupByCellControl styling -->
    <Style TargetType="igPrim:GroupByCellControl" x:Key="groupByRowStyle">
        <Setter Property="FontSize" Value="10" />
        <Setter Property="FontWeight" Value="Bold" />
        <Setter Property="Background" Value="{StaticResource HeaderNormalBackgroundBrush}"   />
        <Setter Property="Foreground" Value="{StaticResource HeaderNormalForegroundBrush}"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="igPrim:GroupByCellControl">
                    <Grid>
                        <vsm:VisualStateManager.VisualStateGroups>
                            <vsm:VisualStateGroup x:Name="CommonStates">
                                <vsm:VisualState x:Name="Normal" />
                                <vsm:VisualState x:Name="MouseOver">
                                    <Storyboard >
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="MouseOver1" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </vsm:VisualState>
                            </vsm:VisualStateGroup>
                            <vsm:VisualStateGroup x:Name="ActiveStates">
                                <vsm:VisualState x:Name="InActive" />
                                <vsm:VisualState x:Name="Active">
                                    <Storyboard >
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="ActiveRect" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="00:00:00">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </vsm:VisualState>
                            </vsm:VisualStateGroup>
                        </vsm:VisualStateManager.VisualStateGroups>
                        <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" x:Name="NormalFill"/>
                        <Rectangle Fill="{StaticResource HeaderHoverBackgroundBrush}" x:Name="MouseOver1" Visibility="Collapsed" Margin="{TemplateBinding BorderThickness}"/>
                        <Rectangle Stroke="{StaticResource CellItemSelectedBorderBrush}" StrokeThickness="1"  x:Name="ActiveRect" Visibility="Collapsed" RadiusX="1" RadiusY="1"/>
                        <ContentPresenter  VerticalAlignment="{TemplateBinding VerticalContentAlignment}"  HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>