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((string) value)) return default(Color); var color = ColorConverter.ConvertFromString((string) value); if (color is Color c) return c; return default(Color); } catch (FormatException) { return default(Color); } } } }