我有一个已从Linq To SQL查询填充的checkedListBox(我不想将列表直接绑定到Linq查询)。
我填充它:
var selected = from c in dc.Personnel
select new { Item = c.PersonnelID, Description = c.FirstName + " " + c.Surname };
foreach (var item in selected)
myList.Items.Add(item.Item, item.Description);
myList.DisplayMember = "Description";
myList.ValueMember = "Item";
现在我想在位置x检索ValueMember,如:
myList.GetItem(0).ValueMember
显然这不正确,但我不确定正确的方法是什么。上述语句的编译错误为'object does not contain definition for ValueMember'
。
答案 0 :(得分:0)
您需要做的就是使用myList.GetItem(0)
。由于您提前设置了myList.ValueMember
,因此会返回存储在绑定项的Item
属性中的值,即item.Item
。
ValueMember
不是值本身,它是绑定对象上"成员"的名称,即属性,它将表示列表中包含的值。
以下是文档:https://msdn.microsoft.com/en-us/library/3yx132k0%28v=vs.110%29.aspx