从类属性获取绑定值,DefaultBindingProperty对我不起作用!

我正在为我的项目创建一些实体(类),我想为它设置一个默认的binging属性,这是一个例子

namespace MyNamespace { [System.ComponentModel.DefaultBindingProperty("Name")] public class Person { public int ID { get; set; } public string Name { get; set; } public int Gender { get; set; } } public class Family { public int ID { get; set; } public Person Father { get; set; } } } 

如果我有List并希望将它绑定到GridView并添加此字段结果将是MyNamespace.Person但是我需要它来填充属性Name的值而不用使用TemplateField所以我错过了什么? 或DefaultBindingProperty不是正确的属性?

问题是属性Father类型为PersonPerson值没有明显的字符串表示forms,因此显示了该类型的名称。 尝试覆盖ToString方法以显示您想要的内容:

 public class Person { public int ID { get; set; } public string Name { get; set; } public int Gender { get; set; } public override string ToString() { return Name; } }