• 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;

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

  • 相关阅读:
    HDU
    01字典树模板
    扩展欧几里得和乘法逆元
    HDOJ-1156 Brownie Points II 线段树/树状数组(模板)
    CF-825E Minimal Labels 反向拓扑排序
    CF-831D Office Keys 思维题
    RMQ 解决区间查询问题
    hdu 5073 有坑+方差贪心
    hdu 5074 相邻数和最大dp
    hdu 5078 水题
  • 原文地址:https://www.cnblogs.com/zhuxiaohui/p/2804656.html
Copyright © 2020-2023  润新知