Zeigen Enum Beschreibung Statt Name

Hatte ich databinding wie folgt eingerichtet:

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

und es funktionierte wirklich gut. Tun, um eine änderung in der größeren software-design kann ich nichts mehr haben, das erzeugt eine INotifyPropertyChanged Event, so dass Art von databinding funktioniert nicht. Stattdessen bin ich das manuelle festlegen der selectedIndex-Eigenschaft und Gebäude die Optionen von code wie dieser:

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

Referenzen

<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>

Funktioniert, wie weit das Gebäude von der Liste der Optionen betroffen ist und die Verknüpfung aller meiner Daten, aber ich kann nicht die comboboxes zu zeigen, das description-tag in der enumeration anstelle des eigentlichen Textes.

Habe ich versucht, so etwas wie dieses:

DisplayMemberPath="Description"

aber das war so nicht richtig. Wie würde ich gehen über das tun dies?

EDIT:

Mein Enum:

[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
}
Schreibe einen Kommentar