zoukankan      html  css  js  c++  java
  • 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;

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

  • 相关阅读:
    shell脚本大小写转换
    python写xml及几个问题
    Java集合系列导读
    Java集合系列之Collection接口
    并发编程之锁机制
    Java中的堆内存和栈内存
    Java与ElasticSearch的交互操作
    ElasticSearch基础概念
    Java的对象和类
    Spring Validator参数校验
  • 原文地址:https://www.cnblogs.com/zhuxiaohui/p/2804656.html
Copyright © 2011-2022 走看看