数据绑定枚举到复选框C#

时间:2010-11-11 10:12:04

标签: c# winforms data-binding enums

有谁知道数据如何绑定enum字段,它是ORed base enum的组合? 说我有

MyEnumType
{ 
    e1=0x1, 
    e2=0x2, 
    e3=0x4
}

然后我做

MyEnumType myEnum = MyEnumType.e1 | MyEnumType.e3

然后我想显示一个对话框,可用于设置myEnum的值。 现在我有一堆复选框,每个复选框对应enum类型中的不同值。 根据检查的内容,我循环使用它们,依此类推。没有完成数据绑定,都是手动的。

2 个答案:

答案 0 :(得分:2)

Google FlaggedEnumEditor。理解这个概念将是一个很好的例子。

答案 1 :(得分:2)

我会创建一个辅助类(视图模型):

  • 有名为E1,E2等的属性
  • 该课程将实施IPropertyChanged
  • 每个属性的set方法将更新基础值,get方法将从基础值读取。
  • 每当基础值发生变化时,您需要确定哪些属性已更改并正确调用IPropertyChanged。

然后将复选框数据绑定到属性。

但是,如果我有多个这样的枚举,我会开始寻找不需要我编写这么多代码的解决方案。