Вы можете сделать так, как предлагает Том, но есть по крайней мере один простой способ сделать это, не заменяя Person.FavoriteColor
на строку.
Добавьте свойство Person с именем FavoriteColorString
:
public class Person
{
[...]
public colorEnum FavoriteColor { get; set; }
public string FavoriteColorString
{
get { return FavoriteColor.ToString(); }
set { FavoriteColor = (colorEnum)Enum.Parse(typeof(colorEnum), value); }
}
}
Перекомпилируйте, чтобы новое свойство появилось в источнике привязки.
Теперь привязайте comboBoxFavoriteColor.SelectedItem
к FavoriteColorString
.
И во время выполнения сделайте, как сказал Том:
comboBoxFavoriteColor.DataSource = Enum.GetNames(typeof(colorEnum));
Вуаля!Теперь он должен работать так, как вы хотите.
Когда вы сохраняете объекты настроек, просто не сохраняйте свойство FavoriteColorString.