public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var type = parameter as Type; if (type == null) { return(null); } var enumArray = Enum.GetValues(type); var array = value as bool[]; if (array == null || array.Length != enumArray.Length) { return(null); } var items = new CheckableItem[enumArray.Length]; enumArray.ForEach <Enum>((e, i) => { var content = default(string); e.SaftyInvoke <DayOfWeek>(d => content = CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedDayName(d)); if (string.IsNullOrEmpty(content)) { content = type.GetDescription(e); } items[i] = new CheckableItem { Content = content, IsSelected = array[i] }; }); return(items); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var type = parameter as Type; if (type == null) return null; var enumArray = Enum.GetValues(type); var array = value as bool[]; if (array == null || array.Length != enumArray.Length) return null; var items = new CheckableItem[enumArray.Length]; enumArray.ForEach<Enum>((e, i) => { var content = default(string); e.SaftyInvoke<DayOfWeek>(d => content = CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedDayName(d)); if (string.IsNullOrEmpty(content)) content = type.GetDescription(e); items[i] = new CheckableItem {Content = content, IsSelected = array[i]}; }); return items; }