Repositories / GSConfigTool / GsConfigTool / Helpers / NullToVisibilityConverter.cs
NullToVisibilityConverter.cs 745 B
git clone https://xarmina.eu/git/gsconfigtool Raw Download
using System.Globalization;
using System.Windows;
using System.Windows.Data;

namespace GsConfigTool.Helpers;

[ValueConversion(typeof(object), typeof(Visibility))]
public class NullToVisibilityConverter : IValueConverter
{
    public static readonly NullToVisibilityConverter Instance = new();

    public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
    {
        bool isNull = value is null;
        bool inverse = parameter?.ToString()?.ToLower() == "inverse";
        return (isNull ^ inverse) ? Visibility.Collapsed : Visibility.Visible;
    }

    public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
        => throw new NotImplementedException();
}
24Fire Wuppertaler Tafel Romeo