From 24e8e0ff7b17ba99717d30a6915aa4ddd943c32c Mon Sep 17 00:00:00 2001
From: NaBian <836904362@qq.com>
Date: Tue, 2 Jun 2026 23:45:53 +0800
Subject: [PATCH] fix: #1784
---
.../Themes/Styles/DataGrid.xaml | 1 +
.../HandyControl_Net_40/Themes/Theme.xaml | 1 +
.../HandyControl_Net_GE45.csproj | 2 +-
.../Themes/Styles/DataGrid.xaml | 1 +
.../HandyControl_Shared/Themes/Theme.xaml | 1 +
...ataGridSelectAllButtonVisibilityConverter.cs | 17 ++++++++++++-----
6 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/src/Net_40/HandyControl_Net_40/Themes/Styles/DataGrid.xaml b/src/Net_40/HandyControl_Net_40/Themes/Styles/DataGrid.xaml
index cc817853..e85f5315 100644
--- a/src/Net_40/HandyControl_Net_40/Themes/Styles/DataGrid.xaml
+++ b/src/Net_40/HandyControl_Net_40/Themes/Styles/DataGrid.xaml
@@ -71,6 +71,7 @@
+
diff --git a/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml b/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml
index 4e800959..36719a7d 100644
--- a/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml
+++ b/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml
@@ -12522,6 +12522,7 @@
+
diff --git a/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj b/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj
index 5e36b630..d90c72e8 100644
--- a/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj
+++ b/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj
@@ -167,7 +167,7 @@
Resources\Images\GlowWindow\topright.png
-
+
diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/DataGrid.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/DataGrid.xaml
index 6619e66b..fc38964d 100644
--- a/src/Shared/HandyControl_Shared/Themes/Styles/DataGrid.xaml
+++ b/src/Shared/HandyControl_Shared/Themes/Styles/DataGrid.xaml
@@ -71,6 +71,7 @@
+
diff --git a/src/Shared/HandyControl_Shared/Themes/Theme.xaml b/src/Shared/HandyControl_Shared/Themes/Theme.xaml
index ab145bea..a666883d 100644
--- a/src/Shared/HandyControl_Shared/Themes/Theme.xaml
+++ b/src/Shared/HandyControl_Shared/Themes/Theme.xaml
@@ -12658,6 +12658,7 @@
+
diff --git a/src/Shared/HandyControl_Shared/Tools/Converter/DataGridSelectAllButtonVisibilityConverter.cs b/src/Shared/HandyControl_Shared/Tools/Converter/DataGridSelectAllButtonVisibilityConverter.cs
index c6f20a6f..64ac84e0 100644
--- a/src/Shared/HandyControl_Shared/Tools/Converter/DataGridSelectAllButtonVisibilityConverter.cs
+++ b/src/Shared/HandyControl_Shared/Tools/Converter/DataGridSelectAllButtonVisibilityConverter.cs
@@ -8,16 +8,23 @@ namespace HandyControl.Tools.Converter;
public class DataGridSelectAllButtonVisibilityConverter : IMultiValueConverter
{
+ private const int DesiredParamsCount = 3;
+
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
- if (values?.Length is 2 &&
- values[0] is DataGridHeadersVisibility.All &&
- values[1] is bool showButton)
+ if (values?.Length is not DesiredParamsCount)
{
- return showButton ? Visibility.Visible : Visibility.Hidden;
+ return Visibility.Collapsed;
}
- return Visibility.Collapsed;
+ if (values[0] is not DataGridHeadersVisibility.All)
+ {
+ return Visibility.Hidden;
+ }
+
+ return values[1] is not SelectionMode.Single && values[2] is true
+ ? Visibility.Visible
+ : Visibility.Hidden;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)