Skip to content

Commit 416cfa6

Browse files
authored
Fixed DataGrid Column Header issues (#10912)
1 parent 8e5d0c3 commit 416cfa6

File tree

8 files changed

+637
-300
lines changed

8 files changed

+637
-300
lines changed

src/Microsoft.DotNet.Wpf/src/Themes/PresentationFramework.Fluent/Resources/Theme/Dark.xaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -526,6 +526,25 @@
526526
<SolidColorBrush x:Key="ContextMenuForeground" Color="{StaticResource TextFillColorPrimary}" />
527527

528528
<!-- DataGrid -->
529+
<SolidColorBrush x:Key="DataGridColumnFloatingHeaderBorderBrush" Color="{StaticResource ControlStrongStrokeColorDefault}" />
530+
<SolidColorBrush x:Key="DataGridHeaderDropSeparatorBackground" Color="{StaticResource ControlStrongStrokeColorDefault}" />
531+
<SolidColorBrush x:Key="DataGridHeaderSeparatorBrush" Color="{StaticResource ControlStrokeColorSecondary}" />
532+
<!-- DataGridHeaderBackground is used for PART_FillerColumnHeader and Row Headers
533+
whereas DataGridColumnHeaderBackground is used for Column Headers. This is a bit confusing
534+
but due to transparency in colors had to follow this. -->
535+
<SolidColorBrush x:Key="DataGridColumnHeaderBackground" Color="{StaticResource SubtleFillColorTransparent}" />
536+
<SolidColorBrush x:Key="DataGridHeaderBackground" Color="{StaticResource SubtleFillColorTertiary}" />
537+
<SolidColorBrush x:Key="DataGridHeaderBackgroundPointerOver" Color="{StaticResource SubtleFillColorSecondary}" />
538+
<SolidColorBrush x:Key="DataGridHeaderBackgroundPressed" Color="{StaticResource SubtleFillColorTertiary}" />
539+
<SolidColorBrush x:Key="DataGridHeaderBackgroundDisabled" Color="{StaticResource SubtleFillColorDisabled}" />
540+
<SolidColorBrush x:Key="DataGridHeaderBackgroundSelected" Color="{StaticResource SubtleFillColorTertiary}" />
541+
<SolidColorBrush x:Key="DataGridHeaderBorderBrush" Color="{StaticResource ControlStrokeColorSecondary}" />
542+
<SolidColorBrush x:Key="DataGridHeaderBorderBrushPointerOver" Color="{StaticResource ControlStrokeColorSecondary}" />
543+
<SolidColorBrush x:Key="DataGridHeaderBorderBrushPressed" Color="{StaticResource ControlStrokeColorSecondary}" />
544+
<SolidColorBrush x:Key="DataGridHeaderBorderBrushDisabled" Color="{StaticResource ControlStrokeColorSecondary}" />
545+
<SolidColorBrush x:Key="DataGridHeaderBorderBrushSelected" Color="{StaticResource ControlStrokeColorSecondary}" />
546+
<SolidColorBrush x:Key="DataGridHeaderForegroundDisabled" Color="{StaticResource TextFillColorDisabled}" />
547+
529548
<SolidColorBrush x:Key="DataGridRowSelectedBackgroundThemeBrush" Color="{StaticResource SystemAccentColorLight3}" />
530549
<SolidColorBrush x:Key="DataGridRowSelectedForegroundThemeBrush" Color="{StaticResource TextOnAccentFillColorPrimary}" />
531550

src/Microsoft.DotNet.Wpf/src/Themes/PresentationFramework.Fluent/Resources/Theme/HC.xaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,22 @@
348348
<SolidColorBrush x:Key="ContextMenuForeground" Color="{StaticResource SystemColorWindowTextColor}" />
349349

350350
<!-- DataGrid -->
351+
<SolidColorBrush x:Key="DataGridColumnFloatingHeaderBorderBrush" Color="{StaticResource SystemColorHighlightColor}" />
352+
<SolidColorBrush x:Key="DataGridHeaderDropSeparatorBackground" Color="{StaticResource SystemColorHighlightColor}" />
353+
<SolidColorBrush x:Key="DataGridHeaderSeparatorBrush" Color="{StaticResource SystemColorButtonTextColor}" />
354+
<SolidColorBrush x:Key="DataGridColumnHeaderBackground" Color="Transparent" />
355+
<SolidColorBrush x:Key="DataGridHeaderBackground" Color="{StaticResource SystemColorButtonFaceColor}" />
356+
<SolidColorBrush x:Key="DataGridHeaderBackgroundPointerOver" Color="{StaticResource SystemColorHighlightTextColor}" />
357+
<SolidColorBrush x:Key="DataGridHeaderBackgroundPressed" Color="{StaticResource SystemColorHighlightTextColor}" />
358+
<SolidColorBrush x:Key="DataGridHeaderBackgroundDisabled" Color="{StaticResource SystemColorButtonFaceColor}" />
359+
<SolidColorBrush x:Key="DataGridHeaderBackgroundSelected" Color="{StaticResource SystemColorHighlightTextColor}" />
360+
<SolidColorBrush x:Key="DataGridHeaderBorderBrush" Color="{StaticResource SystemColorButtonTextColor}" />
361+
<SolidColorBrush x:Key="DataGridHeaderBorderBrushPointerOver" Color="{StaticResource SystemColorHighlightColor}" />
362+
<SolidColorBrush x:Key="DataGridHeaderBorderBrushPressed" Color="{StaticResource SystemColorHighlightTextColor}" />
363+
<SolidColorBrush x:Key="DataGridHeaderBorderBrushDisabled" Color="{StaticResource SystemColorGrayTextColor}" />
364+
<SolidColorBrush x:Key="DataGridHeaderBorderBrushSelected" Color="{StaticResource SystemColorButtonTextColor}" />
365+
<SolidColorBrush x:Key="DataGridHeaderForegroundDisabled" Color="{StaticResource SystemColorGrayTextColor}" />
366+
351367
<SolidColorBrush x:Key="DataGridRowSelectedBackgroundThemeBrush" Color="{StaticResource SystemColorButtonTextColor}" />
352368
<SolidColorBrush x:Key="DataGridRowSelectedForegroundThemeBrush" Color="{StaticResource SystemColorButtonFaceColor}" />
353369

src/Microsoft.DotNet.Wpf/src/Themes/PresentationFramework.Fluent/Resources/Theme/Light.xaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,25 @@
542542
<SolidColorBrush x:Key="ContextMenuForeground" Color="{StaticResource TextFillColorPrimary}" />
543543

544544
<!-- DataGrid -->
545+
<SolidColorBrush x:Key="DataGridColumnFloatingHeaderBorderBrush" Color="{StaticResource ControlStrongStrokeColorDefault}" />
546+
<SolidColorBrush x:Key="DataGridHeaderDropSeparatorBackground" Color="{StaticResource ControlStrongStrokeColorDefault}" />
547+
<SolidColorBrush x:Key="DataGridHeaderSeparatorBrush" Color="{StaticResource ControlStrokeColorSecondary}" />
548+
<!-- DataGridHeaderBackground is used for PART_FillerColumnHeader and Row Headers
549+
whereas DataGridColumnHeaderBackground is used for Column Headers. This is a bit confusing
550+
but due to transparency in colors had to follow this. -->
551+
<SolidColorBrush x:Key="DataGridColumnHeaderBackground" Color="{StaticResource SubtleFillColorTransparent}" />
552+
<SolidColorBrush x:Key="DataGridHeaderBackground" Color="{StaticResource SubtleFillColorTertiary}" />
553+
<SolidColorBrush x:Key="DataGridHeaderBackgroundPointerOver" Color="{StaticResource SubtleFillColorSecondary}" />
554+
<SolidColorBrush x:Key="DataGridHeaderBackgroundPressed" Color="{StaticResource SubtleFillColorTertiary}" />
555+
<SolidColorBrush x:Key="DataGridHeaderBackgroundDisabled" Color="{StaticResource SubtleFillColorDisabled}" />
556+
<SolidColorBrush x:Key="DataGridHeaderBackgroundSelected" Color="{StaticResource SubtleFillColorTertiary}" />
557+
<SolidColorBrush x:Key="DataGridHeaderBorderBrush" Color="{StaticResource ControlStrokeColorSecondary}" />
558+
<SolidColorBrush x:Key="DataGridHeaderBorderBrushPointerOver" Color="{StaticResource ControlStrokeColorSecondary}" />
559+
<SolidColorBrush x:Key="DataGridHeaderBorderBrushPressed" Color="{StaticResource ControlStrokeColorSecondary}" />
560+
<SolidColorBrush x:Key="DataGridHeaderBorderBrushDisabled" Color="{StaticResource ControlStrokeColorSecondary}" />
561+
<SolidColorBrush x:Key="DataGridHeaderBorderBrushSelected" Color="{StaticResource ControlStrokeColorSecondary}" />
562+
<SolidColorBrush x:Key="DataGridHeaderForegroundDisabled" Color="{StaticResource TextFillColorDisabled}" />
563+
545564
<SolidColorBrush x:Key="DataGridRowSelectedBackgroundThemeBrush" Color="{StaticResource SystemAccentColorDark1}" />
546565
<SolidColorBrush x:Key="DataGridRowSelectedForegroundThemeBrush" Color="{StaticResource TextOnAccentFillColorPrimary}" />
547566

0 commit comments

Comments
 (0)