如何将自定义对象列表绑定到ComboBox?

如何将自定义对象列表绑定到combobox? 这就是我目前所拥有的:

this.classCmbo.DataSource = _viewModel.Coarses; this.classCmbo.DisplayMember = "Name"; this.classCmbo.ValueMember = "Id"; 

我要显示什么“名称”,但我希望“Id”是与选择相关联的值。 你怎么在winforms中做到这一点?

这是Coarse obj:

  public class Coarse { public virtual int Id { get; private set; } public virtual string Name { get; set; } } 

谢谢…

你可以尝试这样…..

 public class Country { public string Name { get; set; } public IList Cities { get; set; } public Country(string _name) { Cities = new List(); Name = _name; } } List countries = new List { new Country("UK"), new Country("Australia"), new Country("France") }; bindingSource1.DataSource = countries; comboBox1.DataSource = bindingSource1.DataSource; comboBox1.DisplayMember = "Name"; comboBox1.ValueMember = "Name"; 

我希望它会对你有所帮助……

不确定你的_viewModel.Coarses究竟是什么,但试试这个?

 this.classCmbo.DataSource = _viewModel.Coarses; this.classCmbo.DisplayMember = _viewModel.Coarses.Name; this.classCmbo.ValueMember = _viewModel.Coarses.Id; 

要不就

 this.classCmbo.DataSource = _viewModel.Coarses; this.classCmbo.DisplayMember = Coarses.Name; this.classCmbo.ValueMember = Coarses.Id; 

您通常可以使用ComboBoxItem.Tag进行此类操作。

http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.tag.aspx