最简单的方式是获取枚举名称集合,绑定到ItemsSource属性即可。
前台代码,在XAML中声明对象:
<ComboBox x:Name="cboDemo1" ></ComboBox>
后台代码中绑定集合:
this.cboDemo1.ItemsSource = Enum.GetValues(typeof(Months));
效果如下图:
方式2:在XAML声明是创建绑定
步骤1:添加引用
xmlns:sys="clr-namespace:System;assembly=mscorlib"
步骤2.创建ObjectDataProvider静态资源
<Window.Resources>
<ObjectDataProvider x:Key="EnumTypeProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="local:Months"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
步骤3.在XAML中添加一个ComboBox控件,并创建绑定
<ComboBox x:Name="cboDmeo2" DockPanel.Dock="Top" Margin="3"
ItemsSource="{Binding Source={StaticResource EnumTypeProvider}}"
></ComboBox>
效果如下图: