From 94b05d88792a1a9cbcbfbd09a0bc160e15f9e091 Mon Sep 17 00:00:00 2001 From: Ben Mendel <55685764+BigBenQQ@users.noreply.github.com> Date: Sun, 12 Apr 2026 15:42:14 +0300 Subject: [PATCH 1/2] Improved flexibility of EqualityToVisibilityConverter - added "EqualityValue" and "InequalityValue" that are initialized with a new instance. Also added static "VisibleOnIneneqaulityInstance" that preset the converter to return visible when enequility occur, and return collapsed on equality. --- .../Converters/EqualityToVisibilityConverter.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/MaterialDesignThemes.Wpf/Converters/EqualityToVisibilityConverter.cs b/src/MaterialDesignThemes.Wpf/Converters/EqualityToVisibilityConverter.cs index 728b637619..1a1902524a 100644 --- a/src/MaterialDesignThemes.Wpf/Converters/EqualityToVisibilityConverter.cs +++ b/src/MaterialDesignThemes.Wpf/Converters/EqualityToVisibilityConverter.cs @@ -5,13 +5,17 @@ namespace MaterialDesignThemes.Wpf.Converters; public class EqualityToVisibilityConverter : IValueConverter { + public Visibility EqualityValue {get; init; } = Visibility.Visible; + public Visibility InequalityValue {get; init; } = Visibility.Collapsed; + public static readonly EqualityToVisibilityConverter Instance = new(); + public static readonly EqualityToVisibilityConverter VisibleOnIneneqaulityInstance = new() { EqualityValue = Visibility.Collapsed, InequalityValue = Visibility.Visible }; public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { - if (value != null && value.Equals(parameter)) return Visibility.Visible; + if (value != null && value.Equals(parameter)) return EqualityValue; - return Visibility.Collapsed; + return InequalityValue; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) From 2ba0648a213f54d6ab1ed0adad9586523663831a Mon Sep 17 00:00:00 2001 From: Kevin Bost Date: Thu, 30 Apr 2026 21:40:50 -0700 Subject: [PATCH 2/2] Remove redundant `VisibleOnIneneqaulityInstance` from `EqualityToVisibilityConverter` The `EqualityValue` and `InequalityValue` properties provide sufficient flexibility to configure the converter's behavior directly. This removal simplifies the API and eliminates a static convenience member that was found to be redundant and contained a typo in its name. --- .../Converters/EqualityToVisibilityConverter.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/MaterialDesignThemes.Wpf/Converters/EqualityToVisibilityConverter.cs b/src/MaterialDesignThemes.Wpf/Converters/EqualityToVisibilityConverter.cs index 1a1902524a..2bf7f2ac09 100644 --- a/src/MaterialDesignThemes.Wpf/Converters/EqualityToVisibilityConverter.cs +++ b/src/MaterialDesignThemes.Wpf/Converters/EqualityToVisibilityConverter.cs @@ -5,11 +5,10 @@ namespace MaterialDesignThemes.Wpf.Converters; public class EqualityToVisibilityConverter : IValueConverter { - public Visibility EqualityValue {get; init; } = Visibility.Visible; - public Visibility InequalityValue {get; init; } = Visibility.Collapsed; + public Visibility EqualityValue { get; init; } = Visibility.Visible; + public Visibility InequalityValue { get; init; } = Visibility.Collapsed; public static readonly EqualityToVisibilityConverter Instance = new(); - public static readonly EqualityToVisibilityConverter VisibleOnIneneqaulityInstance = new() { EqualityValue = Visibility.Collapsed, InequalityValue = Visibility.Visible }; public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {