Finally found a great article on this after some searching and finding really outdated articles!
http://msdn.microsoft.com/en-us/library/bb613576.aspx
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
SizeToContent="WidthAndHeight"
Title="Show Enums in a ListBox using Binding">
<Window.Resources>
<ObjectDataProvider MethodName="GetValues"
ObjectType="{x:Type sys:Enum}"
x:Key="AlignmentValues">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="HorizontalAlignment" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<Border Margin="10" BorderBrush="Aqua"
BorderThickness="3" Padding="8">
<StackPanel Width="300">
<TextBlock>Choose the HorizontalAlignment value of the Button:</TextBlock>
<ListBox Name="myComboBox" SelectedIndex="0" Margin="8"
ItemsSource="{Binding Source={StaticResource AlignmentValues}}"/>
<Button Content="Click Me!"
HorizontalAlignment="{Binding ElementName=myComboBox,
Path=SelectedItem}"/>
</StackPanel>
</Border>
</Window>
Something that might not be readily apparent to you is the use of the <x:Type /> markup extension. Documented here. I needed to figure this one out because I was binding my own enum instead of simply a CLR enum. The thing to know is that you must include the namespace for your assembly that contains your enum in the XAML markup:
xmlns:warehouse="clr-namespace:Warehouse.Model;assembly=Warehouse.Model"
I named my namespace ‘warehouse’ here and referenced the assembly and namespace that contains my enum.
Next, you must reference the type with namespace prefix like so:
<x:Type TypeName="warehouse:DockReceiptTypeEnum" />
Now the beginning of my XAML looks like this and it works great!
<Window x:Class="Warehouse.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:warehouse="clr-namespace:Warehouse.Model;assembly=Warehouse.Model"
Title="Dock Receipts" Height="478" Width="957" xmlns:my="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView">
<Window.Resources>
<ObjectDataProvider MethodName="GetValues"
ObjectType="{x:Type sys:Enum}"
x:Key="ReceiptTypeEnum">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="warehouse:DockReceiptTypeEnum" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
6a0aced7-c99f-4126-8d19-b9993aedec80|1|5.0