我有标志枚举这样说 -绑定标志枚举包含列表框复选框
[Flags]
public enum Department
{
None = 0,
A = 1,
B = 2,
C = 4,
D = 8
}
我想说明此枚举上观的价值。我想创建一个列表框并将其源代码绑定到这个枚举集合List<Department> Departments
。 所有工作这么好,直到我认为具有结合到一个属性上我的ViewModel一个复选框 -
public Department SelectedDepartments { get; set; }
该解决方案在这里http://compilewith.net/2008/12/wpf-flagsenumvalueconverter.html提供枚举值结合复选框但它有创造复选框平等的一个限制优雅的解决方案到列表中枚举值的数量。 但在我的情况下,由于我的Enum包含20个值(因此这意味着在UI上有20个复选框),所以我无法承受在我的UI上存在太多复选框。
我试过使用MultiBindingConverter
但在ConvertBack
方法失败。 我想将复选框的状态与属性SelectedDepartments绑定。如果属性值为“A | B”,则应检查A和B复选框,而C和D应保持未选中状态。