wpf中ComboBox组件绑定枚举(2个方案)

ComboBox组件绑定枚举

方法一:后台通过代码绑定
valveTypeCbb.ItemsSource = Enum.GetNames(typeof(ValveType));

valveTypeCbb:组件名称;
ValveType:枚举名称;

方法二:前台绑
  1. 引用空间
 xmlns:sys="clr-namespace:System;assembly=mscorlib"
 xmlns:work="clr-namespace:MISS.Work;assembly=MISS.Work"

work:枚举类型的命名空间

  1. 定义名称
    <UserControl.Resources>
        <ObjectDataProvider x:Key="pumpType" MethodName="GetNames" ObjectType="{x:Type sys:Enum}">
            <ObjectDataProvider.MethodParameters>
                <x:Type TypeName="work:PumpType"/>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
    </UserControl.Resources>

pumpType:定义的key名称
work:PumpType:类型的名称

  1. 组件使用
<ComboBox ItemsSource="{Binding Source={StaticResource pumpType}}" SelectedItem="{Binding pumpTypeTxt}"  HorizontalContentAlignment="Left" VerticalContentAlignment="Center"/>

pumpType:上面定义的key名称
pumpTypeTxt:绑定枚举名称

总结:方法1和方法2都可以实现组件绑定枚举的功能;但是方法1在后台无法访问组件名称时可使用方法2。

你可能感兴趣的:(【C#】,wpf,ComboBox绑定枚举,ComboBox绑定,wpf绑定)