From 12d087ef7b2dedb9e180500e5edff9bce49bc6a3 Mon Sep 17 00:00:00 2001 From: Kevin Bost Date: Sun, 7 Dec 2025 23:17:30 -0800 Subject: [PATCH] Fix: Hides GridView header if no columns present (#3979) Adds an internal converter to check for GridView columns and a trigger to collapse the header ScrollViewer when no columns are defined. --- .../Internal/GridViewHasColumnsConverter.cs | 18 ++++++++++++++++++ .../Themes/MaterialDesignTheme.ListView.xaml | 13 ++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 src/MaterialDesignThemes.Wpf/Converters/Internal/GridViewHasColumnsConverter.cs diff --git a/src/MaterialDesignThemes.Wpf/Converters/Internal/GridViewHasColumnsConverter.cs b/src/MaterialDesignThemes.Wpf/Converters/Internal/GridViewHasColumnsConverter.cs new file mode 100644 index 0000000000..f9de5d2e9c --- /dev/null +++ b/src/MaterialDesignThemes.Wpf/Converters/Internal/GridViewHasColumnsConverter.cs @@ -0,0 +1,18 @@ +using System.Globalization; +using System.Windows.Data; + +namespace MaterialDesignThemes.Wpf.Converters.Internal; + +internal class GridViewHasColumnsConverter : IValueConverter +{ + public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) + { + // Returns true if value is a GridView with at least one column + return value is GridView gridView && gridView.Columns.Count > 0; + } + + public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) + { + throw new NotSupportedException(); + } +} diff --git a/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ListView.xaml b/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ListView.xaml index 935d0a465a..77dce2c859 100644 --- a/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ListView.xaml +++ b/src/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ListView.xaml @@ -1,6 +1,7 @@  @@ -9,11 +10,15 @@ +