using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Data; using Tango.Core.ExtensionMethods; namespace Tango.SharedUI.Converters { public class DisplayMemberPathConverter : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { if (values.Length == 2 && values[0] != null && values[1] != null) { Object obj = values[0]; String path = values[1].ToString(); return obj.GetPropertyValueByPath(path); } else if (values.Length > 0) { return values[0]; } else { return null; } } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }