Вы можете использовать IValueConverter
на вашем переплете, чтобы перевести перечисление в читаемую форму:
public class MyEnumValueConverter : IValueConverter
{
public object Convert(object value, Type type, ...)
{
var enumVal = (WhatIWantIsA)value;
switch (enumVal)
{
case "NiceHouse": return "A nice house";
case "FastCar": return "A fast car";
default: return "Unknown Value"; //or throw exception
}
}
public object ConvertBack(object value, Type type, ...)
{
return value; //probably don't need to implement this
}
}
Используйте это на вашем переплете:
<Resources>
<local:MyEnumValueConverter x:Key="myEnumConverter"/>
</Resources>
<ListView ItemsSource="{Binding Converter={StaticResource myEnumConverter}}"/>
Таким образом, ваша ViewModel может продолжать работать с перечислением, и пользователь видит приличное значение.
Надеюсь, это поможет ...
Редактировать: обновлен пример использования Enum, представленный в вопросе: -)