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();
}