using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Data; using Tango.Core.ExtensionMethods; namespace Tango.FSE.Common.Converters { public class DisplayMemberPathToStringConverter : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { try { if (values[0] != null && values[1].ToStringSafe() != null && values[1] != DependencyProperty.UnsetValue) { try { if (values[0].GetType().IsEnum && values[1].ToStringSafe() == "Description") { return ((Enum)values[0]).ToDescription(); } } catch { } return values[0].GetPropertyValueByPath(values[1].ToStringSafe()); } else { return values[0].ToStringSafe(); } } catch { return values[0].ToStringSafe(); } } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }