wpf enum绑定到comcobox控件

以下两种方法是我自己都测试过的

方法1:通过继承MarkupExtension

步骤1:新建一个类

MarkupExtensionReturnType(typeof(object[]))]
publicclassEnumValuesExtension:MarkupExtension
{
   
publicEnumValuesExtension()
   
{
   
}

   
publicEnumValuesExtension(Type enumType)
   
{
       
this.EnumType= enumType;
   
}

   
[ConstructorArgument("enumType")]
   
publicTypeEnumType{get;set;}

   
publicoverrideobjectProvideValue(IServiceProvider serviceProvider)
   
{
       
if(this.EnumType==null)
           
thrownewArgumentException("The enum type is not set");
       
returnEnum.GetValues(this.EnumType);
   
}
}

步骤2:在xaml中引用 xmlns:mymeun="clr-namespace:WpfMipLibrary.Util;assembly=WpfMipLibrary"

最后使用: 

<my1:CaComboBox Name="cmbmateria" ItemsSource="{mymeun:EnumValues vm:MateriaAppType}" />

方法二:直接使用

  Array materialist = Enum.GetValues(typeof(MateriaAppType));
  cmbmateria1.ItemsSource = materialist;

方法二很简单,一句话而已,但是效果和方法一是一样的

转载于:https://www.cnblogs.com/zhuxiaohui/archive/2012/12/06/2804656.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值