Показать описание перечисления вместо имени

У меня была настроена привязка данных вот так:

ItemsSource="{Binding Source={my:Enumeration {x:Type credit:OccupationCategory}}}"
                      DisplayMemberPath="Description"
                      SelectedValue="{Binding EmplType}"
                      SelectedValuePath="Value"/>

и это сработало очень хорошо. Внесите изменения в более крупный дизайн программного обеспечения. У меня больше не может быть ничего, что генерирует событие INotifyPropertyChanged, поэтому такой тип привязки данных не работает. Вместо этого я вручную устанавливаю selectedIndex и создаю параметры из кода, подобного этому:

ItemsSource="{Binding Source={StaticResource ResidenceOwnershipType}}"/>

который ссылается

<UserControl.Resources>
    <ObjectDataProvider x:Key="ResidenceOwnershipType" MethodName="GetValues" ObjectType="{x:Type System:Enum}" >
        <ObjectDataProvider.MethodParameters>
            <x:Type TypeName="credit:ResidenceOwnershipType" />
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>
</UserControl.Resources>

Это работает в том, что касается создания параметров списка и связывания всех моих данных, но я не могу заставить поля со списком отображать тег описания в перечислении вместо фактического текста.

Я пробовал что-то вроде этого:

DisplayMemberPath="Description"

но это было неправильно. Как мне это сделать?

РЕДАКТИРОВАТЬ:

Мое перечисление:

[DataContract]
public enum ResidenceOwnershipType
{
    [Description("")]
    None = 0,
    [Description("Owns Home Outright")]
    OwnsHomeOutright = 1,
    [Description("Buying Home")]
    BuyingHome = 2,
    [Description("Renting/Leasing")] //Weird order here reflects RouteOne website
    RentingLeasing = 4,
    [Description("Living w/Relatives")]
    LivingWithRelatives = 3,
    [Description("Owns/Buying Mobile Home")]
    MobileHome = 5,
    [Description("Unknown")]
    Unknown = 6
}
6
задан Nathan Tornquist 11 July 2012 в 21:20
поделиться