My application has a RadGridView control in it. I have customized the style used by the GridViewRow class in my app.xaml:
<
Style
TargetType
=
"{x:Type telerik:GridViewRow}"
>
<
Setter
Property
=
"IsTabStop"
Value
=
"False"
/>
<
Setter
Property
=
"Template"
>
<
Setter.Value
>
<
ControlTemplate
TargetType
=
"{x:Type telerik:GridViewRow}"
>
<
Border
BorderBrush
=
"{TemplateBinding BorderBrush}"
BorderThickness
=
"{TemplateBinding BorderThickness}"
>
<
VisualStateManager.VisualStateGroups
>
<
VisualStateGroup
x:Name
=
"FocusStates"
>
<
VisualState
x:Name
=
"Unfocused"
/>
<
VisualState
x:Name
=
"Focused"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"(UIElement.Visibility)"
Storyboard.TargetName
=
"NavigatorIndicator"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
</
VisualStateGroup
>
<
VisualStateGroup
x:Name
=
"SelectionStates"
>
<
VisualState
x:Name
=
"Unselected"
/>
</
VisualStateGroup
>
<
VisualStateGroup
x:Name
=
"CommonStates"
>
<
VisualState
x:Name
=
"Normal"
/>
<
VisualState
x:Name
=
"MouseOver"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Duration
=
"0"
Storyboard.TargetProperty
=
"(UIElement.Visibility)"
Storyboard.TargetName
=
"Background_Over"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
<
VisualState
x:Name
=
"Selected"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Duration
=
"0"
Storyboard.TargetProperty
=
"(UIElement.Visibility)"
Storyboard.TargetName
=
"Background_Selected"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Background"
Storyboard.TargetName
=
"NavigatorIndicatorBackground"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
LinearGradientBrush
EndPoint
=
"0.5,1"
StartPoint
=
"0.5,0"
>
<
GradientStop
Color
=
"White"
Offset
=
"0"
/>
<
GradientStop
Color
=
"#FFE4E4E4"
Offset
=
"1"
/>
</
LinearGradientBrush
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
</
VisualStateGroup
>
<
VisualStateGroup
x:Name
=
"ValueStates"
>
<
VisualState
x:Name
=
"RowValid"
/>
<
VisualState
x:Name
=
"RowInvalid"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"(UIElement.Visibility)"
Storyboard.TargetName
=
"Background_Invalid"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"(UIElement.Visibility)"
Storyboard.TargetName
=
"ErrorIndicator"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
</
VisualStateGroup
>
<
VisualStateGroup
x:Name
=
"EditStates"
>
<
VisualState
x:Name
=
"ReadOnlyMode"
/>
<
VisualState
x:Name
=
"EditMode"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Visibility"
Storyboard.TargetName
=
"EditIndicator"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
</
VisualStateGroup
>
</
VisualStateManager.VisualStateGroups
>
<
telerik:SelectiveScrollingGrid
x:Name
=
"grid"
>
<
telerik:SelectiveScrollingGrid.ColumnDefinitions
>
<
ColumnDefinition
Width
=
"Auto"
/>
<
ColumnDefinition
Width
=
"Auto"
/>
<
ColumnDefinition
Width
=
"Auto"
/>
<
ColumnDefinition
Width
=
"*"
/>
</
telerik:SelectiveScrollingGrid.ColumnDefinitions
>
<
telerik:SelectiveScrollingGrid.RowDefinitions
>
<
RowDefinition
Height
=
"*"
/>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"Auto"
/>
</
telerik:SelectiveScrollingGrid.RowDefinitions
>
<
Border
x:Name
=
"SelectionBackground"
Grid.ColumnSpan
=
"2"
Grid.Column
=
"2"
Margin
=
"{TemplateBinding Margin}"
Padding
=
"{TemplateBinding Padding}"
telerik:SelectiveScrollingGrid.SelectiveScrollingClip
=
"True"
VerticalAlignment
=
"{TemplateBinding VerticalContentAlignment}"
/>
<
Border
x:Name
=
"Background_Over"
BorderBrush
=
"#FFFFC92B"
BorderThickness
=
"1"
Grid.ColumnSpan
=
"2"
Grid.Column
=
"2"
CornerRadius
=
"1"
Margin
=
"1,1,1,2"
telerik:SelectiveScrollingGrid.SelectiveScrollingClip
=
"True"
Visibility
=
"Collapsed"
>
<
Border
BorderBrush
=
"White"
BorderThickness
=
"1"
/>
</
Border
>
<
Border
x:Name
=
"Background_Selected"
BorderBrush
=
"{DynamicResource DataBorderSelected}"
BorderThickness
=
"1"
Grid.ColumnSpan
=
"2"
Grid.Column
=
"2"
CornerRadius
=
"1"
Margin
=
"1,1,1,2"
telerik:SelectiveScrollingGrid.SelectiveScrollingClip
=
"True"
Visibility
=
"Collapsed"
>
<
Border
Background
=
"{DynamicResource DataBackgroundSelected}"
BorderBrush
=
"White"
BorderThickness
=
"1"
/>
</
Border
>
<
Border
x:Name
=
"Background_Invalid"
BorderBrush
=
"#FFCE7D7D"
BorderThickness
=
"1"
Grid.ColumnSpan
=
"2"
Grid.Column
=
"2"
CornerRadius
=
"1"
Margin
=
"1,1,1,2"
telerik:SelectiveScrollingGrid.SelectiveScrollingClip
=
"True"
Visibility
=
"Collapsed"
>
<
Border
BorderThickness
=
"1"
>
<
Border.BorderBrush
>
<
LinearGradientBrush
EndPoint
=
"0.5,1"
StartPoint
=
"0.5,0"
>
<
GradientStop
Color
=
"#FFEBF4FD"
/>
<
GradientStop
Color
=
"#FFDBEAFD"
Offset
=
"1"
/>
</
LinearGradientBrush
>
</
Border.BorderBrush
>
<
Border.Background
>
<
LinearGradientBrush
EndPoint
=
"0.5,1"
StartPoint
=
"0.5,0"
>
<
GradientStop
Color
=
"#FFFCDCDC"
/>
<
GradientStop
Color
=
"#FFFCC1C1"
Offset
=
"1"
/>
</
LinearGradientBrush
>
</
Border.Background
>
</
Border
>
</
Border
>
<
telerik:GridViewToggleButton
x:Name
=
"PART_HierarchyExpandButton"
Grid.Column
=
"2"
IsHitTestVisible
=
"{Binding IsExpandable, RelativeSource={RelativeSource TemplatedParent}}"
IsTabStop
=
"{TemplateBinding IsTabStop}"
IsChecked
=
"{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation
=
"Vertical"
Width
=
"25"
>
<
telerik:GridViewToggleButton.Opacity
>
<
Binding
Path
=
"IsExpandable"
RelativeSource
=
"{RelativeSource TemplatedParent}"
>
<
Binding.Converter
>
<
telerik:BooleanToOpacityConverter
/>
</
Binding.Converter
>
</
Binding
>
</
telerik:GridViewToggleButton.Opacity
>
<
telerik:StyleManager.Theme
>
<
telerik:Office_BlackTheme
/>
</
telerik:StyleManager.Theme
>
<
telerik:GridViewToggleButton.Template
>
<
ControlTemplate
TargetType
=
"{x:Type telerik:GridViewToggleButton}"
>
<
Border
Background
=
"Transparent"
HorizontalAlignment
=
"Stretch"
VerticalAlignment
=
"Stretch"
>
<
VisualStateManager.VisualStateGroups
>
<
VisualStateGroup
x:Name
=
"CommonStates"
>
<
VisualState
x:Name
=
"Normal"
/>
<
VisualState
x:Name
=
"MouseOver"
/>
<
VisualState
x:Name
=
"Disabled"
/>
</
VisualStateGroup
>
<
VisualStateGroup
x:Name
=
"CheckStates"
>
<
VisualState
x:Name
=
"Checked"
>
<
Storyboard
>
<
DoubleAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Opacity"
Storyboard.TargetName
=
"plus"
>
<
DiscreteDoubleKeyFrame
KeyTime
=
"0"
Value
=
"0"
/>
</
DoubleAnimationUsingKeyFrames
>
<
DoubleAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Opacity"
Storyboard.TargetName
=
"minus"
>
<
DiscreteDoubleKeyFrame
KeyTime
=
"0"
Value
=
"1"
/>
</
DoubleAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
<
VisualState
x:Name
=
"Unchecked"
/>
</
VisualStateGroup
>
<
VisualStateGroup
x:Name
=
"FocusStates"
>
<
VisualState
x:Name
=
"Focused"
/>
<
VisualState
x:Name
=
"Unfocused"
/>
</
VisualStateGroup
>
</
VisualStateManager.VisualStateGroups
>
<
Border
BorderBrush
=
"{DynamicResource DataBorder}"
BorderThickness
=
"{TemplateBinding BorderThickness}"
Background
=
"{DynamicResource DataBackground}"
HorizontalAlignment
=
"{TemplateBinding HorizontalContentAlignment}"
Height
=
"9"
VerticalAlignment
=
"{TemplateBinding VerticalContentAlignment}"
Width
=
"9"
>
<
Grid
>
<
Path
x:Name
=
"plus"
Data
=
"M1.937,0L2.937,0 2.937,2.0209999 5,2.0209999 5,3.0209999 2.937,3.0209999 2.937,5 1.937,5 1.937,3.0209999 0,3.0209999 0,2.0209999 1.937,2.0209999z"
Fill
=
"Black"
Height
=
"5"
Margin
=
"{TemplateBinding Padding}"
Stretch
=
"Fill"
Stroke
=
"{x:Null}"
Width
=
"5"
/>
<
Rectangle
x:Name
=
"minus"
Fill
=
"Black"
HorizontalAlignment
=
"Center"
Height
=
"1"
Margin
=
"{TemplateBinding Padding}"
Opacity
=
"0"
RadiusY
=
"0"
RadiusX
=
"0"
Stroke
=
"{x:Null}"
VerticalAlignment
=
"Center"
Width
=
"5"
/>
</
Grid
>
</
Border
>
</
Border
>
</
ControlTemplate
>
</
telerik:GridViewToggleButton.Template
>
<
telerik:GridViewToggleButton.Visibility
>
<
Binding
Path
=
"HasHierarchy"
RelativeSource
=
"{RelativeSource TemplatedParent}"
>
<
Binding.Converter
>
<
telerik:BooleanToVisibilityConverter
/>
</
Binding.Converter
>
</
Binding
>
</
telerik:GridViewToggleButton.Visibility
>
</
telerik:GridViewToggleButton
>
<
Border
Grid.Column
=
"2"
telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation
=
"Vertical"
>
<
Border.Visibility
>
<
Binding
Path
=
"HasHierarchy"
RelativeSource
=
"{RelativeSource TemplatedParent}"
>
<
Binding.Converter
>
<
telerik:BooleanToVisibilityConverter
/>
</
Binding.Converter
>
</
Binding
>
</
Border.Visibility
>
</
Border
>
<
telerik:DataCellsPresenter
Background
=
"{TemplateBinding Background}"
x:Name
=
"PART_DataCellsPresenter"
Grid.Column
=
"3"
IsTabStop
=
"False"
>
<
telerik:StyleManager.Theme
>
<
telerik:Office_BlackTheme
/>
</
telerik:StyleManager.Theme
>
</
telerik:DataCellsPresenter
>
<
Border
x:Name
=
"PART_RowBorder"
BorderBrush
=
"{TemplateBinding HorizontalGridLinesBrush}"
Grid.ColumnSpan
=
"4"
Grid.Column
=
"1"
Grid.RowSpan
=
"4"
telerik:SelectiveScrollingGrid.SelectiveScrollingClip
=
"True"
VerticalAlignment
=
"Bottom"
>
<
Border.BorderThickness
>
<
Binding
ConverterParameter
=
"Bottom"
Path
=
"HorizontalGridLinesWidth"
RelativeSource
=
"{RelativeSource TemplatedParent}"
>
<
Binding.Converter
>
<
telerik:GridLineWidthToThicknessConverter
/>
</
Binding.Converter
>
</
Binding
>
</
Border.BorderThickness
>
</
Border
>
<
Border
BorderBrush
=
"#FF848484"
BorderThickness
=
"0,1"
Background
=
"#FFBBBBBB"
Grid.ColumnSpan
=
"2"
Grid.Column
=
"2"
Padding
=
"6"
Grid.Row
=
"2"
telerik:SelectiveScrollingGrid.SelectiveScrollingClip
=
"True"
>
<
Border.Visibility
>
<
Binding
Path
=
"IsExpanded"
RelativeSource
=
"{RelativeSource TemplatedParent}"
>
<
Binding.Converter
>
<
telerik:BooleanToVisibilityConverter
/>
</
Binding.Converter
>
</
Binding
>
</
Border.Visibility
>
<
ContentPresenter
x:Name
=
"PART_HierarchyChildPresenter"
ContentTemplate
=
"{TemplateBinding ContentTemplate}"
Content
=
"{TemplateBinding Content}"
ContentStringFormat
=
"{TemplateBinding ContentStringFormat}"
telerik:SelectiveScrollingGrid.SelectiveScrollingClip
=
"True"
/>
</
Border
>
<
telerik:DetailsPresenter
x:Name
=
"PART_DetailsPresenter"
Grid.ColumnSpan
=
"2"
Grid.Column
=
"2"
DetailsProvider
=
"{TemplateBinding DetailsProvider}"
IsTabStop
=
"False"
Grid.Row
=
"1"
telerik:SelectiveScrollingGrid.SelectiveScrollingClip
=
"True"
>
<
telerik:StyleManager.Theme
>
<
telerik:Office_BlackTheme
/>
</
telerik:StyleManager.Theme
>
</
telerik:DetailsPresenter
>
<
telerik:IndentPresenter
x:Name
=
"PART_IndentPresenter"
Grid.Column
=
"1"
IsTabStop
=
"False"
IndentLevel
=
"{TemplateBinding IndentLevel}"
Grid.RowSpan
=
"4"
telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation
=
"Vertical"
>
<
telerik:StyleManager.Theme
>
<
telerik:Office_BlackTheme
/>
</
telerik:StyleManager.Theme
>
</
telerik:IndentPresenter
>
<
Border
x:Name
=
"PART_IndicatorPresenter"
BorderBrush
=
"#FF848484"
BorderThickness
=
"0,0,1,1"
Grid.Column
=
"0"
Grid.RowSpan
=
"3"
telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation
=
"Vertical"
Visibility
=
"{TemplateBinding RowIndicatorVisibility}"
VerticalAlignment
=
"Stretch"
Width
=
"25"
>
<
Border
x:Name
=
"NavigatorIndicatorBackground"
BorderBrush
=
"{DynamicResource DataBorderselected}"
BorderThickness
=
"1"
Background
=
"{DynamicResource DataBackgroundSelected}"
>
<
Grid
>
<
Grid
x:Name
=
"NavigatorIndicator"
HorizontalAlignment
=
"Center"
Height
=
"11"
Visibility
=
"Collapsed"
VerticalAlignment
=
"Center"
Width
=
"11"
>
<
Path
Data
=
"F1M32.0234,6.66669L24.2923,0.0248413 28.3697,0.0248413 32,3.14362 36.1492,6.70819 32,10.2728 28.4664,13.3085 24.2923,13.3085 32.0234,6.66669z"
Fill
=
"#FF848484"
HorizontalAlignment
=
"Center"
Height
=
"8"
Margin
=
"0"
Stretch
=
"Fill"
VerticalAlignment
=
"Center"
Width
=
"8"
/>
</
Grid
>
<
Grid
x:Name
=
"EditIndicator"
HorizontalAlignment
=
"Center"
Height
=
"10"
Visibility
=
"Collapsed"
VerticalAlignment
=
"Center"
Width
=
"16"
>
<
Path
Data
=
"M14,9L15,9 15,10 14,10z M1,9L2,9 2,10 1,10z M15,8L16,8 16,9 15,9z M0,8L1,8 1,9 0,9z M15,1L16,1 16,2 15,2z M0,1L1,1 1,2 0,2z M14,0L15,0 15,1 14,1z M1,0L2,0 2,1 1,1z"
Fill
=
"#7F848484"
Stretch
=
"Fill"
/>
<
Path
Data
=
"M0.99999994,6.9999995L2,6.9999995 3,6.9999995 4,6.9999995 5,6.9999995 6,6.9999995 7,6.9999995 8,6.9999995 9,6.9999995 10,6.9999995 11,6.9999995 12,6.9999995 13,6.9999995 13,7.9999995 12,7.9999995 11,7.9999995 10,7.9999995 9,7.9999995 8,7.9999995 7,7.9999995 6,7.9999995 5,7.9999995 4,7.9999995 3,7.9999995 2,7.9999995 0.99999994,7.9999995z M13,0.99999994L14,0.99999994 14,1.9999999 14,2.9999995 14,3.9999995 14,4.9999995 14,5.9999995 14,6.9999995 13,6.9999995 13,5.9999995 13,4.9999995 13,3.9999995 13,2.9999995 13,1.9999999z M0,0.99999994L0.99999994,0.99999994 0.99999994,1.9999999 0.99999994,2.9999995 0.99999994,3.9999995 0.99999994,4.9999995 0.99999994,5.9999995 0.99999994,6.9999995 0,6.9999995 0,5.9999995 0,4.9999995 0,3.9999995 0,2.9999995 0,1.9999999z M11,0L12,0 13,0 13,0.99999994 12,0.99999994 11,0.99999994 10,0.99999994 9,0.99999994 8,0.99999994 7,0.99999994 6,0.99999994 5,0.99999994 4,0.99999994 3,0.99999994 2,0.99999994 0.99999994,0.99999994 0.99999994,2.3841858E-07 2,2.3841858E-07 3,2.3841858E-07 4,2.3841858E-07 5,2.3841858E-07 6,2.3841858E-07 7,2.3841858E-07 8,2.3841858E-07 9,2.3841858E-07 10,2.3841858E-07z"
Fill
=
"#FFCBCBCB"
Margin
=
"1"
Stretch
=
"Fill"
/>
<
Path
Data
=
"M2,9L3,9 4,9 5,9 6,9 7,9 8,9 9,9 10,9 11,9 12,9 13,9 14,9 14,10 13,10 12,10 11,10 10,10 9,10 8,10 7,10 6,10 5,10 4,10 3,10 2,10z M14,8L15,8 15,9 14,9z M1,8L2,8 2,9 1,9z M15,2L16,2 16,3 16,4 16,5 16,6 16,7 16,8 15,8 15,7 15,6 15,5 15,4 15,3z M3,2L4,2 5,2 6,2 6,3 5,3 5,4 5,5 5,6 5,7 6,7 6,8 5,8 4,8 3,8 3,7 4,7 4,6 4,5 4,4 4,3 3,3z M0,2L1,2 1,3 1,4 1,5 1,6 1,7 1,8 0,8 0,7 0,6 0,5 0,4 0,3z M14,1L15,1 15,2 14,2z M1,1L2,1 2,2 1,2z M2,0L3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 14,1 13,1 12,1 11,1 10,1 9,1 8,1 7,1 6,1 5,1 4,1 3,1 2,1z"
Fill
=
"#FF848484"
Stretch
=
"Fill"
/>
<
Path
Data
=
"M4,0L5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 12,1 12,2 12,3 12,4 12,5.0000001 12,6 11,6 10,6 9,6 8,6 7,6 6,6 5,6 4,6 4,5.0000001 3,5.0000001 3,4 3,3 3,2 3,1 4,1z M0,0L1,0 1,1 2,1 2,2 2,3 2,4 2,5.0000001 1,5.0000001 1,6 0,6 0,5.0000001 0,4 0,3 0,2 0,1z"
Fill
=
"White"
Margin
=
"2"
Stretch
=
"Fill"
/>
</
Grid
>
<
Grid
x:Name
=
"ErrorIndicator"
HorizontalAlignment
=
"Center"
Height
=
"16"
Visibility
=
"Collapsed"
VerticalAlignment
=
"Center"
Width
=
"16"
>
<
Grid.ToolTip
>
<
ToolTip
x:Name
=
"validationTooltip"
Content
=
"{TemplateBinding Errors}"
Placement
=
"Bottom"
>
<
ToolTip.Template
>
<
ControlTemplate
TargetType
=
"{x:Type ToolTip}"
>
<
Grid
x:Name
=
"Root"
Margin
=
"5,0"
Opacity
=
"0"
RenderTransformOrigin
=
"0,0"
>
<
Grid.RenderTransform
>
<
TranslateTransform
X
=
"-25"
/>
</
Grid.RenderTransform
>
<
VisualStateManager.VisualStateGroups
>
<
VisualStateGroup
x:Name
=
"OpenStates"
>
<
VisualStateGroup.Transitions
>
<
VisualTransition
From
=
"{x:Null}"
GeneratedDuration
=
"0"
GeneratedEasingFunction
=
"{x:Null}"
Storyboard
=
"{x:Null}"
To
=
"{x:Null}"
/>
<
VisualTransition
From
=
"{x:Null}"
GeneratedDuration
=
"0:0:0.2"
GeneratedEasingFunction
=
"{x:Null}"
To
=
"Open"
>
<
Storyboard
>
<
DoubleAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"X"
Storyboard.TargetName
=
"xform"
>
<
SplineDoubleKeyFrame
KeyTime
=
"0:0:0.2"
Value
=
"0"
/>
</
DoubleAnimationUsingKeyFrames
>
<
DoubleAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Opacity"
Storyboard.TargetName
=
"Root"
>
<
SplineDoubleKeyFrame
KeyTime
=
"0:0:0.2"
Value
=
"1"
/>
</
DoubleAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualTransition
>
</
VisualStateGroup.Transitions
>
<
VisualState
x:Name
=
"Closed"
>
<
Storyboard
>
<
DoubleAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Opacity"
Storyboard.TargetName
=
"Root"
>
<
SplineDoubleKeyFrame
KeyTime
=
"0"
Value
=
"0"
/>
</
DoubleAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
<
VisualState
x:Name
=
"Open"
>
<
Storyboard
>
<
DoubleAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"X"
Storyboard.TargetName
=
"xform"
>
<
SplineDoubleKeyFrame
KeyTime
=
"0"
Value
=
"0"
/>
</
DoubleAnimationUsingKeyFrames
>
<
DoubleAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Opacity"
Storyboard.TargetName
=
"Root"
>
<
SplineDoubleKeyFrame
KeyTime
=
"0"
Value
=
"1"
/>
</
DoubleAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
</
VisualStateGroup
>
</
VisualStateManager.VisualStateGroups
>
<
Border
Background
=
"#052A2E31"
CornerRadius
=
"5"
Margin
=
"4,4,-4,-4"
/>
<
Border
Background
=
"#152A2E31"
CornerRadius
=
"4"
Margin
=
"3,3,-3,-3"
/>
<
Border
Background
=
"#252A2E31"
CornerRadius
=
"3"
Margin
=
"2,2,-2,-2"
/>
<
Border
Background
=
"#352A2E31"
CornerRadius
=
"2"
Margin
=
"1,1,-1,-1"
/>
<
Border
Background
=
"#FFDC000C"
CornerRadius
=
"2"
/>
<
Border
CornerRadius
=
"2"
>
<
ItemsControl
>
<
ItemsControl.ItemsPanel
>
<
ItemsPanelTemplate
>
<
StackPanel
IsItemsHost
=
"True"
/>
</
ItemsPanelTemplate
>
</
ItemsControl.ItemsPanel
>
<
ItemsControl.ItemTemplate
>
<
DataTemplate
>
<
TextBlock
Foreground
=
"White"
MaxWidth
=
"250"
Margin
=
"8,4"
TextWrapping
=
"Wrap"
Text
=
"{Binding}"
/>
</
DataTemplate
>
</
ItemsControl.ItemTemplate
>
</
ItemsControl
>
</
Border
>
</
Grid
>
</
ControlTemplate
>
</
ToolTip.Template
>
</
ToolTip
>
</
Grid.ToolTip
>
<
Path
Data
=
"M3,12.999999L4,12.999999 5,12.999999 6,12.999999 7,12.999999 8,12.999999 9,12.999999 10,12.999999 11,12.999999 11,13.999999 10,13.999999 9,13.999999 8,13.999999 7,13.999999 6,13.999999 5,13.999999 4,13.999999 3,13.999999z M11,11.999999L12,11.999999 12,12.999999 11,12.999999z M2.0000001,11.999999L3,11.999999 3,12.999999 2.0000001,12.999999z M12,10.999999L13,10.999999 13,11.999999 12,11.999999z M1,10.999999L2.0000001,10.999999 2.0000001,11.999999 1,11.999999z M13,2.9999992L14,2.9999992 14,3.9999992 14,4.9999992 14,5.9999992 14,6.9999992 14,7.9999992 14,8.9999992 14,9.9999992 14,10.999999 13,10.999999 13,9.9999992 13,8.9999992 13,7.9999992 13,6.9999992 13,5.9999992 13,4.9999992 13,3.9999992z M0,2.9999992L1,2.9999992 1,3.9999992 1,4.9999992 1,5.9999992 1,6.9999992 1,7.9999992 1,8.9999992 1,9.9999992 1,10.999999 0,10.999999 0,9.9999992 0,8.9999992 0,7.9999992 0,6.9999992 0,5.9999992 0,4.9999992 0,3.9999992z M12,1.9999999L13,1.9999999 13,2.9999992 12,2.9999992z M1,1.9999999L2.0000001,1.9999999 2.0000001,2.9999992 1,2.9999992z M11,0.99999994L12,0.99999994 12,1.9999999 11,1.9999999z M2.0000001,0.99999994L2.9999998,0.99999994 2.9999998,1.9999999 2.0000001,1.9999999z M2.9999998,0L3.9999998,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 11,0.99999994 10,0.99999994 9,0.99999994 8,0.99999994 7,0.99999994 6,0.99999994 5,0.99999994 3.9999998,0.99999994 2.9999998,0.99999994z"
Margin
=
"1"
Stretch
=
"Fill"
>
<
Path.Fill
>
<
LinearGradientBrush
EndPoint
=
"0.5,1"
StartPoint
=
"0.5,0"
>
<
GradientStop
Color
=
"#FFFC9999"
Offset
=
"0"
/>
<
GradientStop
Color
=
"#FFC26666"
Offset
=
"1"
/>
</
LinearGradientBrush
>
</
Path.Fill
>
</
Path
>
<
Path
Data
=
"M1.4901161E-07,8L1.0000001,8 2.0000002,8 2.0000002,9 2.0000002,10 1.0000003,10 1.0000003,9 1.0000001,10 1.4901161E-07,10 1.4901161E-07,9z M1.4901161E-07,0L1.0000001,0 2.0000002,0 2.0000002,1 2.0000002,2 2.0000002,3 2.0000002,4.0000001 2.0000002,5 2.0000002,5.9999999 2.0000002,7 1.0000001,7 1.4901161E-07,7 1.4901161E-07,5.9999999 1.4901161E-07,5 1.4901161E-07,4.0000001 1.4901161E-07,3 1.4901161E-07,2 0,1z"
Fill
=
"White"
Margin
=
"7,3"
Stretch
=
"Fill"
/>
<
Path
Data
=
"M4,15L5,15 6,15 7,15 8,15 9,15 10,15 11,15 12,15 12,16 11,16 10,16 9,16 8,16 7,16 6,16 5,16 4,16z M12,14L13,14 13,15 12,15z M3,14L4,14 4,15 3,15z M13,13L14,13 14,14 13,14z M2,13L3,13 3,14 2,14z M14,12L15,12 15,13 14,13z M1,12L2,12 2,13 1,13z M7,11L7,12 7,13 8,13 9,13 9,12 9,11 8,11z M15,4L16,4 16,5 16,6 16,7 16,8 16,9 16,10 16,11 16,12 15,12 15,11 15,10 15,9 15,8 15,7 15,6 15,5z M0,4L1,4 1,5 1,6 1,7 1,8 1,9 1,10 1,11 1,12 0,12 0,11 0,10 0,9 0,8 0,7 0,6 0,5z M14,3L15,3 15,4 14,4z M7,3L7,4 7,5 7,6 7,7 7,8 7,9 7,10 8,10 9,10 9,9 9,8 9,7 9,6 9,5 9,4 9,3 8,3z M1,3L2,3 2,4 1,4z M13,2L14,2 14,3 13,3z M4,2L5,2 6,2 7,2 8,2 9,2 10,2 11,2 12,2 12,3 13,3 13,4 14,4 14,5 14,6 14,7 14,8 14,9 14,10 14,11 14,12 13,12 13,13 12,13 12,14 11,14 10,14 9,14 8,14 7,14 6,14 5,14 4,14 4,13 3,13 3,12 2,12 2,11 2,10 2,9 2,8 2,7 2,6 2,5 2,4 3,4 3,3 4,3z M2,2L3,2 3,3 2,3z M12,1L13,1 13,2 12,2z M3,1L4,1 4,2 3,2z M4,0L5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 12,1 11,1 10,1 9,1 8,1 7,1 6,1 5,1 4,1z"
Stretch
=
"Fill"
>
<
Path.Fill
>
<
LinearGradientBrush
EndPoint
=
"0.5,1"
StartPoint
=
"0.5,0"
>
<
GradientStop
Color
=
"Red"
Offset
=
"0"
/>
<
GradientStop
Color
=
"#FF990000"
Offset
=
"1"
/>
</
LinearGradientBrush
>
</
Path.Fill
>
</
Path
>
</
Grid
>
<
Border
x:Name
=
"PART_RowResizer"
Background
=
"Transparent"
Cursor
=
"SizeNS"
Height
=
"2"
VerticalAlignment
=
"Bottom"
/>
</
Grid
>
</
Border
>
</
Border
>
</
telerik:SelectiveScrollingGrid
>
</
Border
>
</
ControlTemplate
>
</
Setter.Value
>
</
Setter
>
<
Setter
Property
=
"Background"
Value
=
"{DynamicResource DataBackground}"
/>
<
Setter
Property
=
"BorderThickness"
Value
=
"0"
/>
<
Setter
Property
=
"AllowDrop"
Value
=
"True"
/>
<
Setter
Property
=
"FontWeight"
Value
=
"Normal"
/>
<
Setter
Property
=
"VerticalContentAlignment"
Value
=
"Stretch"
/>
<
Setter
Property
=
"HorizontalContentAlignment"
Value
=
"Stretch"
/>
<
Setter
Property
=
"Padding"
Value
=
"0"
/>
<
Setter
Property
=
"SnapsToDevicePixels"
Value
=
"True"
/>
</
Style
>
The application uses merged dictionaries to change color palettes between "day mode" and "night mode". Here is the night mode color palette:
<
ResourceDictionary
xmlns
=
"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x
=
"http://schemas.microsoft.com/winfx/2006/xaml"
>
<!-- Brushes -->
<
SolidColorBrush
x:Key
=
"AlarmReadBackground"
Color
=
"#FF141414"
/>
<
SolidColorBrush
x:Key
=
"AlarmReadForeground"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"AlarmTitleBackground"
Color
=
"DarkRed"
/>
<
SolidColorBrush
x:Key
=
"AlternatingRowBackground"
Color
=
"CadetBlue"
/>
<
SolidColorBrush
x:Key
=
"ButtonBackground"
Color
=
"#FF323232"
/>
<
SolidColorBrush
x:Key
=
"ButtonForeground"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"ButtonDisabled"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"ButtonDisabledBackground"
Color
=
"#FF151515"
/>
<
SolidColorBrush
x:Key
=
"ChromeDisabledBackgroundOverlay"
Color
=
"#AF080808"
/>
<
SolidColorBrush
x:Key
=
"ComboBoxBackground"
Color
=
"#FF141414"
/>
<
SolidColorBrush
x:Key
=
"ComboBoxBorder"
Color
=
"#FF646464"
/>
<
SolidColorBrush
x:Key
=
"ComboBoxForeground"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"ContentBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"ControlBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"ControlBorder"
Color
=
"#FF646464"
/>
<
SolidColorBrush
x:Key
=
"ControlForeground"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"DataBackground"
Color
=
"#FF282828"
/>
<
SolidColorBrush
x:Key
=
"DataBackgroundSelected"
Color
=
"#FF515151"
/>
<
SolidColorBrush
x:Key
=
"DataBorder"
Color
=
"#FF688CAF"
/>
<
SolidColorBrush
x:Key
=
"DataBorderFocused"
Color
=
"DarkRed"
/>
<
SolidColorBrush
x:Key
=
"DataBorderSelected"
Color
=
"DarkBlue"
/>
<
SolidColorBrush
x:Key
=
"DataForeground"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"DataForegroundSelected"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"DataGridLines"
Color
=
"#FFECE9D8"
/>
<
SolidColorBrush
x:Key
=
"DataHeaderBackground"
Color
=
"#FF282828"
/>
<
SolidColorBrush
x:Key
=
"DataHeaderForeground"
Color
=
"#FFEBEB1C"
/>
<
SolidColorBrush
x:Key
=
"DataRowBackground"
Color
=
"Transparent"
/>
<
SolidColorBrush
x:Key
=
"DeviceStatusButtonBorder"
Color
=
"White"
/>
<
SolidColorBrush
x:Key
=
"DeviceStatusButtonForeground"
Color
=
"#FF3C4E64"
/>
<
SolidColorBrush
x:Key
=
"DeviceStatusButtonStrokeBrush"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"DialogBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"DialogForeground"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"DialogSeparator"
Color
=
"#FFF1EFE2"
/>
<
SolidColorBrush
x:Key
=
"DlgWindowBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"FocusedBackground"
Color
=
"#FFFF9605"
/>
<
SolidColorBrush
x:Key
=
"FocusedForeground"
Color
=
"Blue"
/>
<
SolidColorBrush
x:Key
=
"EmptyAreaBackground"
Color
=
"White"
/>
<
SolidColorBrush
x:Key
=
"FlasherFill"
Color
=
"#FF868686"
/>
<
SolidColorBrush
x:Key
=
"HotListBackground"
Color
=
"#FF323232"
/>
<
SolidColorBrush
x:Key
=
"HotListBorder"
Color
=
"#FF646464"
/>
<
SolidColorBrush
x:Key
=
"HotListForeground"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"InfoBackground"
Color
=
"#FF141414"
/>
<
SolidColorBrush
x:Key
=
"InfoText"
Color
=
"#FFFFFF66"
/>
<
SolidColorBrush
x:Key
=
"PlateInfoBackground"
Color
=
"#FF141414"
/>
<
SolidColorBrush
x:Key
=
"MBContentBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"MBTextForeground"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"PlateInfoBorder"
Color
=
"#FF646464"
/>
<
SolidColorBrush
x:Key
=
"PlateInfoForeground"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"PopupBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"ProgressBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"ScreenBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"SeparatorColor"
Color
=
"#FF323232"
/>
<
SolidColorBrush
x:Key
=
"TabBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"TabBorder"
Color
=
"#FF646464"
/>
<
SolidColorBrush
x:Key
=
"TabForeground"
Color
=
"#FF323232"
/>
<
SolidColorBrush
x:Key
=
"TabHeaderBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"TabHeaderForeground"
Color
=
"#FF323232"
/>
<
SolidColorBrush
x:Key
=
"TabHeaderSelectedBackground"
Color
=
"#FF323232"
/>
<
SolidColorBrush
x:Key
=
"TabHeaderSelectedForeground"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"TextBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"TextForeground"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"TitleBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"TitleBorder"
Color
=
"#FFF1EFE2"
/>
<
SolidColorBrush
x:Key
=
"TitleForeground"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"TitleSeparator"
Color
=
"#FFF1EFE2"
/>
<
SolidColorBrush
x:Key
=
"TooltipBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"TooltipForeground"
Color
=
"DarkGray"
/>
<
SolidColorBrush
x:Key
=
"UnfocusedBackground"
Color
=
"#FF282828"
/>
<
SolidColorBrush
x:Key
=
"UnfocusedForeground"
Color
=
"Yellow"
/>
<
SolidColorBrush
x:Key
=
"VolumeBar"
Color
=
"#FFE61E0F"
/>
<
SolidColorBrush
x:Key
=
"WindowBackground"
Color
=
"Black"
/>
<
SolidColorBrush
x:Key
=
"WindowBorder"
Color
=
"#FF646464"
/>
</
ResourceDictionary
>
The problem is that, when using the night mode color palette, the background of the selected row in the RadGridView is not the color I chose for the DataBackgroundSelected brush. That should be a shade of gray; what I'm getting is a light yellow color. Given that the foreground color is Yellow, there isn't enough contrast and the selected row is hard to read.
My application also uses a row style selector to change the foreground color, so I'm stuck with Yellow as the foreground color.
What do I need to change in my template so I can get the background color I chose for the selected row? I'm using version 2012.3.1017.40 of the WPF controls library.
By the way, the DataBackgroundSelected brush is also used by the Microsoft DataGrid control and the colors there work fine. I want all Grid controls to have the same look, so it's important that I get this working properly.