组合框中基类的DisplayMember属性
本文关键字:DisplayMember 属性 基类 组合 | 更新日期: 2023-09-27 18:29:34
我使用Windows窗体。我想要基类中DisplayMember的相等属性?我有类
public class MyViewModel
{
public int Id { get; set; }
public Type Type { get; set; }
}
我想要,我的comboBox显示Type.Name.
List<MyViewModel> list = new List<MyViewModel>();
list.Add(new MyViewModel(){ Id = 1, Type.GetType(int)});
list.Add(new MyViewModel(){ Id = 2, Type.GetType(string)});
//how i must to config displayMember???
myComboBox.DisplayMember = "Type.Name";
myComboBox.ValueMember = "Id";
myComboBox.DataSoutce = list;
但我无法获取要在comboBox中显示的Type.Name。你能帮我吗?
ComboBox
有一个用于此目的的事件,称为Format
:
myComboBox.DisplayMember = "Type";//Notice this
myComboBox.Format += (s,e) => {
e.Value = ((Type)e.Value).Name;
};
您必须创建一个具有两个属性的新类:
class MyViewModel
{
public string TypeName {get; set; }
public string Id {get; set; }
}
// generate the datasource list.
List<MyViewModel> list = new List<MyViewModel>();
list.Add(new MyViewModel(){ Id = 1, TypeName = typeof(int).Name});
list.Add(new MyViewModel(){ Id = 2, TypeName = typeof(string).Name});
// how i must to config displayMember
myComboBox.DisplayMember = "TypeName";
myComboBox.ValueMember = "Id";
myComboBox.DataSoutce = list;