WPF ComboBox控件绑定枚举类型

最简单的方式是获取枚举名称集合,绑定到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>

效果如下图:


版权声明:本文为flysh05原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。