/// <summary>
        /// Converts a value.
        /// </summary>
        /// <param name="value">
        /// The value that is produced by the binding target.
        /// </param>
        /// <param name="targetType">
        /// The type to convert to.
        /// </param>
        /// <param name="parameter">
        /// The converter parameter to use.
        /// </param>
        /// <param name="culture">
        /// The culture to use in the converter.
        /// </param>
        /// <returns>
        /// A converted value. If the method returns null, the valid null value is used.
        /// </returns>
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var s = value as string;

            if (s == null)
            {
                return(Binding.DoNothing);
            }

            Color color;

            if (ColorMap.TryGetValue(s, out color))
            {
                return(color);
            }

            var c = ColorHelper.HexToColor(s);

            if (c != ColorHelper.UndefinedColor)
            {
                return(c);
            }

            return(Binding.DoNothing);
        }
 public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
 {
     return(ColorHelper.HexToColor((string)value));
 }