博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
wpf enum绑定到comcobox控件
阅读量:4921 次
发布时间:2019-06-11

本文共 882 字,大约阅读时间需要 2 分钟。

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

方法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

你可能感兴趣的文章
反射实现java深度克隆
查看>>
转载 Javascript DOM Document|Element|Attribute对象方法详解
查看>>
图书助手冲刺第六天
查看>>
需求评审
查看>>
Calculate the distance between two lines in 3D space
查看>>
观察者模式(发布-订阅模式)
查看>>
HDU 1069 Monkey and Banana(DP)
查看>>
HDU 2577 How to Type(杭电300题纪念)
查看>>
CS224n学习笔记(二)
查看>>
pymysql模块
查看>>
面向对象chapter7
查看>>
关于gcc、glibc和binutils模块之间的关系
查看>>
NB的新技术
查看>>
让vim能完成代码提示~~
查看>>
【Android】java.lang.StackOverflowError: stack size 8MB
查看>>
12 个 CSS 高级技巧汇总
查看>>
Node.js 系列01
查看>>
源码下编译APK,却是总是提示,找不到符号:SystemProperties 。。。
查看>>
Apache Jmeter(1)
查看>>
Lattice Planner规划算法
查看>>