using System; using Avalonia.Data.Converters; namespace DesertPaintCodex.Converters { public class EnumBooleanConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value is not Enum en) return false; string? parameterString = parameter.ToString(); if (parameterString == null) return false; object parameterValue = Enum.Parse(value.GetType(), parameterString); return parameterValue.Equals(value); } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value is not bool) return false; string? parameterString = parameter.ToString(); if (parameterString == null) return false; return Enum.Parse(targetType, parameterString); } } }