1

我有一个Enum我绑定到的ComboBox.
但我不想在组合框项目中显示一个枚举值。
如果我在绑定后尝试删除它会抛出错误。

cmbDisplayUnit.Items.Remove(item);

是否可以绑定到枚举并仍然删除或至少隐藏枚举的值之一?

4

3 回答 3

1

如果您查看此MSDN 论坛文章,它会提供有关如何做您想做的事情的示例。请参阅索罗科的回答。

从上面的链接修改:

string[] TestNames = Enum.GetNames(typeof(SampleEnumUnits));
var list = from test in TestNames where test != "Enum you wish to remove" select Enum.Parse(typeof(SampleEnumUnits), test);
cmbDisplayUnit.ItemsSource = list;
于 2013-01-30T06:57:44.977 回答
0

我认为你需要这个:

cmbDisplayUnit.Items.Remove((int)item); // I assume item is enum variable
于 2013-01-30T06:29:33.697 回答
0
var items = Enum.GetValues(typeof(datMHD.Enums.EquipmentEnums.Request_ItemType));
var List = items.OfType<datMHD.Enums.EquipmentEnums.Request_ItemType>().ToList();
List.RemoveAll(e => e.Equals(datMHD.Enums.EquipmentEnums.Request_ItemType.Spare_Parts));

您将 Array 值转换为 List 然后使用 RemoveAll 然后将 Item 分配给组合框

于 2017-12-20T12:00:59.917 回答