using System; using System.Globalization; using System.Windows.Data; using System.Windows.Media; namespace Artemis.UI.Shared { /// /// /// Converts into . /// [ValueConversion(typeof(Color), typeof(string))] public class ColorToStringConverter : IValueConverter { /// public object? Convert(object? value, Type targetType, object parameter, CultureInfo culture) { return value?.ToString()?.ToUpper(); } /// public object? ConvertBack(object? value, Type targetType, object parameter, CultureInfo culture) { try { if (string.IsNullOrWhiteSpace(value as string)) return default(Color); object? color = ColorConverter.ConvertFromString((string) value!); if (color is Color c) return c; return default(Color); } catch (FormatException) { return default(Color); } } } }