Binding a combo box to an enumeration in WPF is more work than it should be, creating an object data provider etc etc:
<Window.Resources>
<ObjectDataProvider MethodName="GetValues"
ObjectType="{x:Type sys:Enum}"
x:Key="CharacterEnumValues">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="Character" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>Followed by
<ComboBox SelectedItem="{Binding Character}"
ItemsSource="{Binding
Source={StaticResource CharacterValues}} "/>What a pain! I have just added 'EnumerationComboBox' to my Apex library - so now you can do this:
<!-- The combo box, bound to an enumeration. --> <apexControls:EnumerationComboBox
SelectedEnumeration="{Binding Character}" />
No need for an ObjectDataProvider, an items source or anything – and if you decorate enum’s with the ‘[Description]’ attribute, it’ll use the description in the combo.
There’s an article/download here for anyone who's interested: