public EnumRadioButtonsViewModel(string description, string preview, string group, Option <TOption> option, AbstractOptionPreviewViewModel info, OptionSet options) : base(description) { var items = new List <AbstractRadioButtonViewModel>(); var enumType = typeof(TOption); foreach (var value in Enum.GetValues(enumType)) { var name = Enum.GetName(enumType, value); var memberInfo = enumType.GetMember(name)[0]; var descriptionAttributes = memberInfo.GetCustomAttributes(typeof(DescriptionAttribute), false); var valueDescription = descriptionAttributes.Length > 0 ? ((DescriptionAttribute)descriptionAttributes[0]).Description : name; items.Add(new RadioButtonViewModel <TOption>( valueDescription, preview, group, (TOption)value, option, info, options)); } Items = items; }
public RadioButtonViewModel(string description, string preview, string group, TOption value, Option <TOption> option, AbstractOptionPreviewViewModel info, OptionSet options) : base(description, preview, info, options, isChecked: options.GetOption(option).Equals(value), group: group) { _value = value; _option = option; }