From 409ab846134732aa4f88c0f3db4447d0766e7063 Mon Sep 17 00:00:00 2001 From: Adam Zofware Date: Mon, 3 Apr 2023 15:33:15 -0700 Subject: [PATCH 1/2] Fix theme bug in DataGrid RowDetails Issue https://github.com/CommunityToolkit/WindowsCommunityToolkit/issues/3305 --- .../DataGrid/DataGrid.xaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/DataGrid/DataGrid.xaml b/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/DataGrid/DataGrid.xaml index b6365ae5477..af3fcdcf050 100644 --- a/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/DataGrid/DataGrid.xaml +++ b/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/DataGrid/DataGrid.xaml @@ -32,6 +32,7 @@ + @@ -49,6 +50,7 @@ + @@ -66,6 +68,7 @@ + @@ -91,7 +94,6 @@ - From 38e4ba0a77d71b0031166f6f4867c5e202ffde6d Mon Sep 17 00:00:00 2001 From: Adam Zofware Date: Mon, 3 Apr 2023 15:34:01 -0700 Subject: [PATCH 2/2] Ensure DataGrid row background and foreground update when theme changed. --- .../DataGrid/DataGrid.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/DataGrid/DataGrid.cs b/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/DataGrid/DataGrid.cs index fcff002c18c..85a7a32aba2 100644 --- a/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/DataGrid/DataGrid.cs +++ b/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/DataGrid/DataGrid.cs @@ -448,9 +448,21 @@ public DataGrid() this.DefaultStyleKey = typeof(DataGrid); + ActualThemeChanged += this.DataGrid_ActualThemeChanged; + HookDataGridEvents(); } + private void DataGrid_ActualThemeChanged(FrameworkElement sender, object args) + { + DataGrid dataGrid = sender as DataGrid; + foreach (DataGridRow row in dataGrid.GetAllRows()) + { + row.EnsureBackground(); + row.EnsureForeground(); + } + } + /// /// Gets or sets the that is used to paint the background of odd-numbered rows. /// @@ -5890,6 +5902,8 @@ private void DataGrid_Unloaded(object sender, RoutedEventArgs e) { _showingMouseIndicators = false; _keepScrollBarsShowing = false; + + ActualThemeChanged -= this.DataGrid_ActualThemeChanged; } #if FEATURE_VALIDATION