WPF MVVM下拉绑定枚举实例
网上找的文章,对绑定枚举这块实现的都比较复杂,现找个一个比较简单的实现方法,附部分代码,如下
首先下拉绑定必定要是一个集合,枚举有GetNames()方法,返回string[]类型,将它绑定到数据源上,这样就需要借助ObjectDataProvider了
<Window.Resources> <ObjectDataProvider MethodName="GetNames" ObjectType="{x:Type sys:Enum}" x:Key="localEnumTypes"> <ObjectDataProvider.MethodParameters> <x:Type TypeName="enums:SexEnum" /> </ObjectDataProvider.MethodParameters> </ObjectDataProvider> </Window.Resources>
MethodName是枚举方法名
ObjectType指定是枚举类型
TypeName是引用自己定义的枚举类
然后在下拉控件下绑定即可
<ComboBox x:Name="cboxEnum" ItemsSource="{Binding Source ={StaticResource localEnumTypes}}" SelectedValue="{Binding MainModel.SexType,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" >
附:除了集合,dataTable,枚举,DataRow也能支持双向绑定,大家可以试试